我有一个简单的松散机器人,可以响应以特定字符串开头的消息。我更喜欢的是,机器人只响应那些提及机器人的消息。我使用slackclient
,并通过获得的消息:slack bot回应消息提到
new_evts = sc.rtm_read()
我可以看到消息在我的CLIENT_ID,但搜索信息蜇似乎不正确的方法。
u'text': u'<@U0TP3B7HU>: test message'
必须有更加松懈的方式来处理与提及的消息。我在Slack API中缺少什么?
我有一个简单的松散机器人,可以响应以特定字符串开头的消息。我更喜欢的是,机器人只响应那些提及机器人的消息。我使用slackclient
,并通过获得的消息:slack bot回应消息提到
new_evts = sc.rtm_read()
我可以看到消息在我的CLIENT_ID,但搜索信息蜇似乎不正确的方法。
u'text': u'<@U0TP3B7HU>: test message'
必须有更加松懈的方式来处理与提及的消息。我在Slack API中缺少什么?
根据the Slack documentation for the message event并查看实际事件(如您所见),似乎没有任何“更好”的方式来检测邮件中的提及。我相信搜索邮件文本的方法是唯一的选择。例如,that's what botkit does。
我发现了一个库,提供了一种方式来回应提及。 This库提供了一种机制来指定当消息针对特定用户时要调用的函数。
@respond_to('github', re.IGNORECASE) def github(): ...
我真的不喜欢正则表达式的代码,并无需搜索每一个发布。这是处理对消息中的DM或@reference的响应的简单方法。