[英]Replying to a Thread using Slack Python Webhook API
我正在創建一個Python腳本,以將消息發送到備用頻道。 消息本身可以很好地傳遞,但是當我嘗試啟動一個線程並向該線程發送回復時,我無法使其正常工作。 線程回復顯示為新的父郵件。
我正在使用https://github.com/satoshi03/slack-python-webhook上的slack-python-webhook模塊
import slackweb
import json
slack = slackweb.Slack(
url="https://hooks.slack.com/services/XXXX/XXXX/XXXXXX")
attachment = [{"text": "This is TEXT",
"ts": "1564629129"
}]
print(json.dumps(attachment))
slack.notify(attachments=attachment)
attachment = [{"text": "This is Thread REPLY",
"thread_ts": "1564629129",
"thread_ts": "1564629130"
}]
print(json.dumps(attachment))
slack.notify(attachments=attachment)
我想知道需要在上述代碼段中進行哪些更改,以便第二條消息作為線程回復出現。
您的代碼將無效,因為網絡鈎子不支持線程。 如果要回復線程,則需要使用API方法來發布消息(例如chat.postMessage
)。
這意味着您可能還需要使用其他庫,因為問題中提到的庫似乎僅支持webhooks。
另外,您的語法不正確。 thread_ts
不是附件的屬性,而是API方法(例如channel
的參數。
我建議檢查slackclient 。 它是Slack的官方Python庫,並且完全支持包括incl在內的所有API方法。 線程。
以下是使用slackclient回復線程的方法:
import slack
import os
# init slack client with access token
client = slack.WebClient(token=os.environ['SLACK_TOKEN'])
# reply to a thread
response = client.chat_postMessage(
channel="general",
text="This is a reply",
thread_ts="1561764011.015500"
)
assert response["ok"]
print(response)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.