-1
我正在爲使用Ruby中的discordrb gem的不和服務器編寫bot。我怎樣才能防止bot(和用戶)在聊天頻道中發送垃圾郵件命令?我正在考慮將某些命令放在5分鐘的冷卻時間,但是我能想到的唯一方法是使用sleep
,但這可以防止機器人在此期間接受其他命令。Ruby聊天機器人命令cooldown
任何人有一個建議?
我正在爲使用Ruby中的discordrb gem的不和服務器編寫bot。我怎樣才能防止bot(和用戶)在聊天頻道中發送垃圾郵件命令?我正在考慮將某些命令放在5分鐘的冷卻時間,但是我能想到的唯一方法是使用sleep
,但這可以防止機器人在此期間接受其他命令。Ruby聊天機器人命令cooldown
任何人有一個建議?
不知道你的代碼是什麼樣子,但你可以做這樣的事情:
初始化@last_reply_time
一些舊時代的價值,那麼每個響應之前:
if Time.now >= @last_reply_time + 300 #(seconds)
# Reply
# ...
@last_reply_time = Time.now # update the @last_reply_time last
end
很明顯,你可以擴展檢查多個變量或每種類型答覆的時間列表,並使邏輯更爲複雜。