我开始用Python写一个Slack bot,当我找不到使用这两种方法之一发送格式丰富的消息的方法时停止了:
sc.rtm_send_message("channel_name", my_message)
sc.api_call("chat.postMessage", channel="channel_name", text=my_message, username="username", icon_url="icon_url")
其中my_message = json.dumps({'attachments': [{...}]})
我现在知道我可以使用webhook方法做到这一点但是可以用上面的方法吗?
答案 0 :(得分:5)
API(方法chat.postMessage)和传入的webhook都提供了格式化邮件的相同选项,包括标记和附件。
提示:如果你想在你的附件中使用标记,请确保添加字段“mrkdwn_in”并命名你想要使用它的字段,否则Slack会忽略它。
示例:
{
"attachments": [
{
"title": "Title",
"pretext": "Pretext _supports_ mrkdwn",
"text": "Testing *right now!*",
"mrkdwn_in": ["text", "pretext"]
}
]
}
有关完整文档,请参阅here。
答案 1 :(得分:1)
我发现了我出错的地方。
我在sc.api_call
方法中将我的消息传递给了错误的参数。
我应该将其传递给sc.api_call(
attachments=
...)
参数,而不是text
参数。