SparrowBot/app/sparrowmodule.cpp
2016-03-14 15:12:04 +01:00

85 lines
2.9 KiB
C++

#include "sparrowmodule.h"
#include "message.h"
#include "basemodule.h"
#include <QStringList>
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 #"+getChan()+" "+msg.nick+"!");
return true;
}
else if(msg.command.compare(QString("PRIVMSG"), Qt::CaseInsensitive) == 0)
{
User* user = getUsers()->getFromNick(msg.nick);
if(msg.args.startsWith("!control ") && user->isOp())
{
QString command = msg.args.remove(0, 9);
answer = command + "\r\n";
return true;
}
else if(msg.args.compare("!version") == 0)
{
answer = say("sparrowBot v1.1");
return true;
}
else if(msg.args.compare("!bot") == 0)
{
answer = say("I've been created by Anselme, here is my source : https://git.epicsparrow.com/Anselme/sparrowbot");
return true;
}
else if(msg.args.compare("!help") == 0)
{
if(user->isOp())
answer = privateSay("available commands : !control, !version, !bot, !devzone", msg.nick);
else
answer = privateSay("available commands : !version, !bot, !devzone", msg.nick);
return true;
}
else if(msg.args.compare("re", Qt::CaseInsensitive) == 0)
{
answer = say("Re");
return true;
}
else if(msg.args.startsWith("!devzone"))
{
QStringList paramList = msg.args.split(' ');
if(paramList.size() == 1)
answer = say("devzone : http://epicsparrow.com/en/devzone");
else if(paramList.size() > 2)
answer = say("available links : lino, whiteboard, gitlab");
else
{
QString param = paramList[1];
if(param.compare("whiteboard") == 0)
answer = say("whiteboard : http://webwhiteboard.com/#7w9fcmeg");
else if(param.compare("gitlab") == 0)
answer = say("gitlab : https://git.epicsparrow.com");
else if(param.compare("lino") == 0)
answer = say("lino : http://linoit.com/groups/EpicSparrow/canvases/EpicSparrow");
else if(param.compare("plop") == 0)
answer = say("plop : http://www.plop.org");
else if(param.compare("pastebin") == 0)
answer = say("plop : http://www.pastebin.com");
else
answer = say("%1 : https://www.google.fr/#q=%2").arg(param).arg(param);
}
return true;
}
}
return false;
}
QString SparrowModule::getName()
{
return "sparrow";
}