2017-04-12 131 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 

很明顯,你可以擴展檢查多個變量或每種類型答覆的時間列表,並使邏輯更爲複雜。