【问题标题】:slack bot respond to messages with a mentionslack bot 回复带有提及的消息
【发布时间】:2022-04-14 23:02:56
【问题描述】:

我有一个简单的 Slack 机器人,它可以响应以特定字符串开头的消息。我更喜欢的是机器人只响应提到机器人的消息。我正在使用slackclient 并通过以下方式获取消息:

new_evts = sc.rtm_read()

我可以在消息中看到我的 client_id,但搜索消息串似乎不是正确的方法。

u'text': u'<@U0TP3B7HU>: test message'

必须有一种更宽松的方式来处理带有提及的消息。我在 Slack API 中缺少什么?

【问题讨论】:

标签: python-2.7 slack-api


【解决方案1】:

基于the Slack documentation for the message event 并查看实际事件(如您所见),似乎没有任何“更好”的方法来检测消息中的提及。我相信搜索消息文本的方法是唯一的选择。例如,that's what botkit does

【讨论】:

    【解决方案2】:

    我找到了一个库,它提供了一种回应提及的方法。 This 库提供了一种机制来指定当消息针对特定用户时要调用的函数。

    @respond_to('github', re.IGNORECASE) def github(): ...

    我真的不喜欢正则表达式代码并且不得不搜索每个发布的内容。这是一种处理对消息中的 DM 或 @references 的响应的更简单方法。

    【讨论】:

      【解决方案3】:

      是的。正如here 的回答,您可以为您的机器人订阅“app_mention”事件。

      https://api.slack.com/events/app_mention

      【讨论】:

        猜你喜欢
        • 2017-04-06
        • 2022-10-01
        • 2019-02-28
        • 2019-06-09
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        • 1970-01-01
        • 2023-04-10
        相关资源
        最近更新 更多