我有一個簡單的鬆散機器人,可以響應以特定字符串開頭的消息。我更喜歡的是,機器人只響應那些提及機器人的消息。我使用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的響應的簡單方法。