From 19c7f7631f8db4178a70f2b5544733c9f7332c4c Mon Sep 17 00:00:00 2001 From: Anselme Date: Sun, 31 May 2015 01:01:34 +0200 Subject: [PATCH] added sparrow module --- app/app.pro | 6 ++++-- app/main.cpp | 2 ++ app/sparrowmodule.cpp | 24 ++++++++++++++++++++++++ app/sparrowmodule.h | 14 ++++++++++++++ ircbot/basemodule.cpp | 23 ++++++++++++++++------- 5 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 app/sparrowmodule.cpp create mode 100644 app/sparrowmodule.h diff --git a/app/app.pro b/app/app.pro index a31df58..5782f1d 100644 --- a/app/app.pro +++ b/app/app.pro @@ -10,7 +10,9 @@ release:LIBS += ../ircbot/release/libircbot.a INCLUDEPATH += ../ircbot SOURCES = main.cpp \ - regismodule.cpp + regismodule.cpp \ + sparrowmodule.cpp HEADERS += \ - regismodule.h + regismodule.h \ + sparrowmodule.h diff --git a/app/main.cpp b/app/main.cpp index 9e00c85..f33516a 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -3,6 +3,7 @@ #include "message.h" #include "basemodule.h" #include "regismodule.h" +#include "sparrowmodule.h" class CustomModule : public Module { @@ -30,5 +31,6 @@ int main(int argc, char *argv[]) BotApp app = BotApp(argc, argv); app.addModule(new CustomModule()); app.addModule(new RegisModule()); + app.addModule(new SparrowModule()); return app.exec(); } diff --git a/app/sparrowmodule.cpp b/app/sparrowmodule.cpp new file mode 100644 index 0000000..390fe81 --- /dev/null +++ b/app/sparrowmodule.cpp @@ -0,0 +1,24 @@ +#include "sparrowmodule.h" +#include "message.h" + +SparrowModule::SparrowModule() +{ + +} + +bool SparrowModule::messageHandler(Message msg) +{ + if(msg.command.compare("JOIN") == 0 + && msg.target.compare("#"+getChan()) == 0 + && msg.nick.compare(getNick()) != 0) + { + answer = say("Bienvenue sur #epicsparrow "+msg.nick+"!"); + return true; + } + return false; +} + +QString SparrowModule::getName() +{ + return "sparrow"; +} diff --git a/app/sparrowmodule.h b/app/sparrowmodule.h new file mode 100644 index 0000000..a2fb733 --- /dev/null +++ b/app/sparrowmodule.h @@ -0,0 +1,14 @@ +#ifndef SPARROWMODULE_H +#define SPARROWMODULE_H + +#include "module.h" + +class SparrowModule : public Module +{ +public: + SparrowModule(); + virtual bool messageHandler(Message msg); + virtual QString getName(); +}; + +#endif // SPARROWMODULE_H diff --git a/ircbot/basemodule.cpp b/ircbot/basemodule.cpp index 1a3e425..c16d793 100644 --- a/ircbot/basemodule.cpp +++ b/ircbot/basemodule.cpp @@ -103,16 +103,25 @@ bool BaseModule::onChanHandler(Message msg) { bool newStatus = command.compare("enable") == 0; for(int i=2; igetName().compare(list[i]) == 0) + bool found = false; + if(list[i].compare("base") == 0) { - if(m->isEnabled() != newStatus) - answer += say((newStatus ? "enabled module " : "disabled module ") + list[i]); - m->setEnabled(newStatus); + answer += say("base module must stay enabled"); + continue; } - else + for(int j=1; jgetName().compare(list[i]) == 0) + { + if(m->isEnabled() != newStatus) + answer += say((newStatus ? "enabled module " : "disabled module ") + list[i]); + m->setEnabled(newStatus); + found = true; + } + } + if(!found) answer += say("no module named " + list[i]); } ret = true;