【发布时间】: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