diff --git a/bot/bot/Bot.cs b/bot/bot/Bot.cs index bd65bed..fb718b2 100644 --- a/bot/bot/Bot.cs +++ b/bot/bot/Bot.cs @@ -101,6 +101,8 @@ namespace bot { Console.WriteLine(_G.propername + " has started successfully."); + DateTime lastAction = new DateTime(0); + while(Chat.isChatting(_G.driver)) { Message msg = Chat.waitForNewMessage(_G.driver); if(msg == null) break; @@ -112,15 +114,19 @@ namespace bot { Bot.loadResponseList(); Chat.sendMessage("response list updated"); } - foreach(Response response in responseList) - response.triggerResponse(msg); + + foreach(Response response in responseList) { + if((DateTime.Now - lastAction).TotalSeconds >= _G.defaultCooldown) { + if(response.triggerResponse(msg)) lastAction = DateTime.Now; + } + } } _G.stopAllThreads(); Console.WriteLine("Restarting bot ..."); } catch(Exception err) { - _G.criticalError("Main thread experienced unexpected fatal error! Details: "+ err.Message +" in "+ err.StackTrace, true); + _G.criticalError("Main thread experienced unexpected fatal error! Details: "+ err.Message +" "+ err.StackTrace, true); } } } diff --git a/bot/bot/Response.cs b/bot/bot/Response.cs index 2d2a289..6cd63b8 100644 --- a/bot/bot/Response.cs +++ b/bot/bot/Response.cs @@ -34,14 +34,19 @@ namespace bot { this.lastCall = new DateTime(0); } - public void triggerResponse(Message msg) { + public bool triggerResponse(Message msg) { if(cooldown != -1) { if((DateTime.Now - lastCall).TotalSeconds < cooldown) - return; + return false; } if(msg.name.ToLower() != _G.username.ToLower()) { - if(conditions.calculateValue(msg)) ResponseCaller.callResponse(responseType, parameters, msg); + if(conditions.calculateValue(msg)) { + ResponseCaller.callResponse(responseType, parameters, msg); + lastCall = DateTime.Now; + return true; + } } + return false; } } } diff --git a/www/auto.php b/www/auto.php new file mode 100644 index 0000000..8d2f0a2 --- /dev/null +++ b/www/auto.php @@ -0,0 +1,271 @@ + + +