【问题标题】:After a while getting multiple answers from slack bot using slack-ruby-bot gem一段时间后,使用 slack-ruby-bot gem 从 slack bot 获得多个答案
【发布时间】:2026-02-16 17:20:03
【问题描述】:

一段时间后,我的 slack 机器人开始多次回答。 重新启动 slack bot 容器可暂时解决此问题。

我们使用 slack-ruby-bot gem 将 slack 机器人与我们的 ruby​​ 应用程序集成。

有关如何实现命令的简单示例,请参见代码。在此命令中,每当用户写信说“any_phrase”时,机器人都会以确切的“any_phrase”回答。 这工作正常,但一段时间后,机器人开始多次回答。

这是使用 docker 容器 实现的,因此我添加了日志以验证我们从同一台机器获得响应,而不是来自另一个正在侦听的容器。它来自同一个IP。 此外,在我重新启动容器后,它解决了同样表明它来自同一台机器的问题。

class Say < SlackRubyBot::Commands::Base
  command 'say' do |client, data, match|
    client.say(channel: data.channel,text: match['expression'])
  end
end

机器人应始终只回答一次。还有其他命令会影响应用的数据,我们不希望它多次运行。

【问题讨论】:

    标签: ruby docker rubygems slack slack-api


    【解决方案1】:

    看起来这可能是 slack-ruby-bot + 赛璐珞确认的错误,请参阅 https://github.com/slack-ruby/slack-ruby-bot/issues/236。有一种切换到 async-websocket 的解决方法。

    【讨论】: