added punisher module
This commit is contained in:
parent
ceac0efad1
commit
1f915cee59
@ -19,7 +19,8 @@ SOURCES = main.cpp \
|
|||||||
todomodule.cpp \
|
todomodule.cpp \
|
||||||
jankenmodule.cpp \
|
jankenmodule.cpp \
|
||||||
janken.cpp \
|
janken.cpp \
|
||||||
rpgmodule.cpp
|
rpgmodule.cpp \
|
||||||
|
punishermodule.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
regismodule.h \
|
regismodule.h \
|
||||||
@ -31,4 +32,5 @@ HEADERS += \
|
|||||||
todomodule.h \
|
todomodule.h \
|
||||||
jankenmodule.h \
|
jankenmodule.h \
|
||||||
janken.h \
|
janken.h \
|
||||||
rpgmodule.h
|
rpgmodule.h \
|
||||||
|
punishermodule.h
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
#include "todomodule.h"
|
#include "todomodule.h"
|
||||||
#include "jankenmodule.h"
|
#include "jankenmodule.h"
|
||||||
#include "rpgmodule.h"
|
#include "rpgmodule.h"
|
||||||
|
#include "punishermodule.h"
|
||||||
//
|
//
|
||||||
#include "janken.h"
|
#include "janken.h"
|
||||||
|
|
||||||
@ -45,6 +46,7 @@ int main(int argc, char *argv[])
|
|||||||
app.addModule(new FourasModule());
|
app.addModule(new FourasModule());
|
||||||
app.addModule(new JankenModule());
|
app.addModule(new JankenModule());
|
||||||
app.addModule(new RPGModule());
|
app.addModule(new RPGModule());
|
||||||
|
app.addModule(new PunisherModule());
|
||||||
//app.addModule(new TodoModule());
|
//app.addModule(new TodoModule());
|
||||||
return app.exec();
|
return app.exec();
|
||||||
|
|
||||||
|
59
app/punishermodule.cpp
Normal file
59
app/punishermodule.cpp
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
#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");
|
||||||
|
}
|
18
app/punishermodule.h
Normal file
18
app/punishermodule.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#ifndef PUNISHERMODULE_H
|
||||||
|
#define PUNISHERMODULE_H
|
||||||
|
|
||||||
|
#include "module.h"
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
class PunisherModule : public Module
|
||||||
|
{
|
||||||
|
std::vector<QString> forbidden_words;
|
||||||
|
|
||||||
|
public:
|
||||||
|
PunisherModule();
|
||||||
|
|
||||||
|
virtual bool messageHandler(Message msg);
|
||||||
|
virtual QString getName();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // PUNISHERMODULE_H
|
@ -44,6 +44,12 @@ bool SparrowModule::messageHandler(Message msg)
|
|||||||
answer = privateSay("available commands : !version, !bot, !devzone", msg.nick);
|
answer = privateSay("available commands : !version, !bot, !devzone", msg.nick);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
else if(msg.args.compare("!identify") == 0)
|
||||||
|
{
|
||||||
|
if(user->isOp())
|
||||||
|
answer = privateSay(QString("IDENTIFY SparrowBot %2").arg(getPass()), "NickServ");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
else if(msg.args.compare("re", Qt::CaseInsensitive) == 0)
|
else if(msg.args.compare("re", Qt::CaseInsensitive) == 0)
|
||||||
{
|
{
|
||||||
answer = say("Re");
|
answer = say("Re");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user