簡體   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