我创建了一个基于websocket的Slack bot(下棋)。为了返回电路板的图形表示(所以PNG而不是简单的ASCII)我必须使用webhook,因为普通消息不能有附件。
与机器人的交互是通过直接消息,我有1个webhook。如果我将wehook中的频道设置为“@username”,则该消息将发布在该用户的“slackbot”DM中。但我希望它能与该用户一起发布在我的机器人DM中。
我该怎么做?
或者有替代webhook的替代方案吗?
感谢。
亨利
答案 0 :(得分:7)
机器人和用户之间的直接消息
如果您想使用特定于机器人的直接消息频道而不是一般的 slackbot 频道,则需要像在任意两个用户之间一样打开直接消息频道。
从您的机器人打开直接消息频道到im.open
的用户(它将为您提供频道ID)。然后将消息发送到该频道ID,例如与chat.postMessage
。
重要:确保使用 bot访问令牌,而不是所有API调用的常规访问令牌。
发送讯息的方法
我建议使用API方法chat.postMessage
而不是webhook。它为您提供了比webhook更多的选项,当然也支持附件。