繁体   English   中英

有没有办法将消息发送到松弛螺栓中的线程?

[英]is there any way to send message to thread in slack bolt?

我正在尝试在 python 中完成本教程。
https://api.slack.com/tutorials/tracks/responding-to-app-mentions

但是,它只发送到“通道”,而不是通道中的消息“线程”(用户提到机器人的消息)。
此外,它没有显示如何在应用程序中查看提到的消息信息(如消息字符串、message_ts 等)。
我可以看到提到的消息和消息 thread_ts 吗?

另外,这是我在 bot 中的代码,该消息似乎是 None

@app.event("app_mention")
def event_test(say, message):
    pass
if __name__ == "__main__":
    SocketModeHandler(app, app_token).start()


app_mention事件接收的有效负载包含您需要的所有详细信息。
https://api.slack.com/events/app_mention

示例: https ://api.slack.com/events/app_mention#app_mention-event__example-event-payloads__standard-app-mention-when-your-app-is-already-in-channel

{
"token": "ZZZZZZWSxiZZZ2yIvs3peJ",
"team_id": "T061EG9R6",
"api_app_id": "A0MDYCDME",
"event": {
    "type": "app_mention",
    "user": "U061F7AUR",
    "text": "What is the hour of the pearl, <@U0LAN0Z89>?",
    "ts": "1515449522.000016",
    "channel": "C0LAN2Q65",
    "event_ts": "1515449522000016"
},
"type": "event_callback",
"event_id": "Ev0LAN670R",
"event_time": 1515449522000016,
"authed_users": [
    "U0LAN0Z89"
]
}

Slack body,event args会有线程id,所以可以使用。

@app.event("app_mention")
def event_test(say, body):
    event = body["event"]
    thread_ts = event.get("thread_ts", None) or event["ts"]
    say(text="Hello", thread_ts=thread_ts) 

if __name__ == "__main__":
    SocketModeHandler(app, app_token).start()

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM