Ruby chat bot命令冷却时间

时间:2017-04-12 16:16:29

标签: ruby bots discord

我正在使用Ruby中的discordrb gem为discord服务器编写机器人。如何防止机器人(和用户)在聊天频道中发送垃圾邮件命令?我正在考虑将某些命令放在5分钟的冷却时间,但我能想到的唯一方法是使用sleep,但这可以防止僵尸程序在此期间接受其他命令。

有人有建议吗?

1 个答案:

答案 0 :(得分:0)

不确定您的代码是什么样的,但您可以执行以下操作:

使用旧的时间值初始化@last_reply_time,然后在每个响应之前:

if Time.now >= @last_reply_time + 300  #(seconds)
  # Reply
  # ...
  @last_reply_time = Time.now # update the @last_reply_time last
end

显然,您可以扩展它以检查多个变量,或每种类型的回复的时间列表,并使逻辑更复杂。