我可以将丰富格式的Slack消息作为Bot而不是Webhook发送吗?

时间:2016-09-09 14:11:03

标签: python slack-api slack

我开始用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方法做到这一点但是可以用上面的方法吗?

2 个答案:

答案 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参数。