2017-04-12 83 views
-1

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

任何人有一个建议?

回答

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 

很明显,你可以扩展检查多个变量或每种类型答复的时间列表,并使逻辑更为复杂。