Files
pokerth/src/chatcleaner/messagefilter.h
T

58 lines
1.2 KiB
C++
Raw Normal View History

#ifndef MESSAGEFILTER_H
#define MESSAGEFILTER_H
#include <QtCore>
#include <stdlib.h>
#include <third_party/boost/timers.hpp>
class BadWordCheck;
class TextFloodCheck;
class CleanerConfig;
2009-07-29 23:27:27 +00:00
class CapsFloodCheck;
class LetterRepeatingCheck;
class UrlCheck;
class MessageFilter: public QObject {
2010-07-13 19:44:04 +00:00
Q_OBJECT
public:
MessageFilter(CleanerConfig*);
2010-07-13 19:44:04 +00:00
~MessageFilter();
QStringList check(unsigned, QString, QString);
void refreshConfig();
public slots:
void cleanKickCounterList();
private:
2010-07-13 19:44:04 +00:00
BadWordCheck *myBadWordCheck;
TextFloodCheck *myTextFloodCheck;
CapsFloodCheck *myCapsFloodCheck;
LetterRepeatingCheck *myLetterRepeatingCheck;
UrlCheck *myUrlCheck;
2010-07-13 19:44:04 +00:00
struct ClientWarnInfos {
QString nick;
int lastWarnType;
int warnLevel;
};
2010-07-13 19:44:04 +00:00
struct ClientKickInfos {
size_t lastKickTimestamp;
int kickNumber;
};
QMap<unsigned, ClientWarnInfos> myClientWarnLevelList;
QMap<QString, ClientKickInfos> myClientKickCounterList;
int warnLevelToKick;
int kickNumberToBan;
CleanerConfig *config;
boost::timers::portable::second_timer timer;
QTimer *cleanTimer;
};
#endif // MESSAGEFILTER_H