SparrowBot/app/punishermodule.cpp
2016-06-20 11:15:43 +02:00

60 lines
1.4 KiB
C++

#include "punishermodule.h"
#include "message.h"
#include "user.h"
#include <QStringList>
PunisherModule::PunisherModule()
{
}
bool PunisherModule::messageHandler(Message msg)
{
for(const QString &w : forbidden_words)
{
if(msg.args.contains(w))
{
answer = QString("KICK %1\r\n").arg(msg.nick);
return true;
}
}
if(msg.args.startsWith("!forbidden add ") && getUsers()->getFromNick(msg.nick)->isOp())
{
QStringList str = msg.args.split(' ');
int i=2;
answer = QString("");
for(; i<str.size(); ++i)
{
forbidden_words.push_back(str[i]);
answer += say(QString("added %1 to the list of forbidden words").arg(str[i]));
}
if(i==2)
answer = say(QString("missing argument"));
return true;
}
if(msg.args.compare("!forbidden reset") == 0 && getUsers()->getFromNick(msg.nick)->isOp())
{
forbidden_words.clear();
answer = say(QString("removed all forbidden words"));
return true;
}
if(msg.args.compare("!forbidden list") == 0)
{
QString str = QString("Forbidden words are : ");
for(const QString &w : forbidden_words)
str.append(w).append(" ");
answer = say(str);
return true;
}
return false;
}
QString PunisherModule::getName()
{
return QString("punisher");
}