diff options
| author | Markus Mittendrein <git@maxmitti.tk> | 2015-06-12 01:56:58 +0200 |
|---|---|---|
| committer | Markus Mittendrein <git@maxmitti.tk> | 2015-06-12 01:56:58 +0200 |
| commit | 6dc0eddef4e743352c36ea8d90f684f8fd424559 (patch) | |
| tree | 0fc0ae294ad2821ffe7a076753ce0fd0e7faeafc /crsm.hpp | |
| parent | bbd9118633963232ad1f357cba4b99394d2f4f82 (diff) | |
| download | manager-6dc0eddef4e743352c36ea8d90f684f8fd424559.tar.gz manager-6dc0eddef4e743352c36ea8d90f684f8fd424559.zip | |
Added basic antiflood.
Release round admin when he is leaving, but he can regain it in a specified time.
Diffstat (limited to 'crsm.hpp')
| -rw-r--r-- | crsm.hpp | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -27,7 +27,7 @@ #define SCOREBOARD_FILE_NAME settings["ClonkDirectory"] + "scoreboard.html" #define IRC_CHECK_CALLBACK(name) void name(const ClientInfo& requester, int status, const ClientInfo& subject) -#define IRC_CHECK_CALLBACK_IMPL(name) void CRSM::name(const ClientInfo& requester, int status, const ClientInfo& subject) +#define IRC_CHECK_CALLBACK_IMPL(name) void CRSM::name(const ClientInfo& requester, int status, const ClientInfo& subject) { (void)requester; (void)status; (void)subject; #ifdef Q_OS_LINUX64 #define C4GROUP_EXECUTABLE "c4group64" @@ -120,7 +120,6 @@ private: QMap<QString, QString> settings; QMap<QString, QString> session; QMap<QString, ClientInfo> clients; - QStringList greeted; QMap<QString, QStringList> lists; QMap<QString, QMap<QString, QString>> maps; IrcConnection *connection = 0; @@ -128,6 +127,7 @@ private: QSignalMapper greetMapper; ClientInfo sessionAdmin; ClientInfo ircAdmin; + QMap<ClientInfo, QDateTime> leaveAdmins; QFile *logfile; QTextStream logstream; QTextCodec *codec; @@ -143,10 +143,9 @@ private: void startScen(const ScenarioSettings& scen, QStringList); void readConfig(); void readScenarios(); - QMap<QString, QString> defaultSettings(); void listC4Folders(); void cleanUp(); - bool scenExists(QString filePath); + QString scenPath(QString scenName); QString listScenarios(QString commandArgs); QString printQueue(); void ircCheckModCmd(const QString &nick, CmdFunctionRef func, QString arg = ""); @@ -180,6 +179,12 @@ private: bool scenAllowed(const ScenarioSettings& scen, const ClientInfo& client, UserType userType); + void kick(const QString& pcName, const QString& reason = ""); + + void prepareAndConnectIrc(); + + ClientInfo& getClientInfo(const QString& pcName, int cuid, const QString& user); + CMD_FUNCTION(help); CMD_FUNCTION(passToClonk); CMD_FUNCTION(admin); @@ -214,6 +219,8 @@ private: CMD_FUNCTION(reload); CMD_FUNCTION(saveConfig); + CMD_FUNCTION(reconnectIrc); + IRC_CHECK_CALLBACK(ircSetAdmin); IRC_CHECK_CALLBACK(ircModCmd); }; |
