From ea5b431b24d3b955ca7f97bb92bc24f98574f508 Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Wed, 14 Oct 2015 19:11:10 +0200 Subject: add admin? command --- src/crsm.cpp | 30 ++++++++++++++++++++++++++++++ src/crsm.hpp | 1 + 2 files changed, 31 insertions(+) diff --git a/src/crsm.cpp b/src/crsm.cpp index da8c70c..72c5167 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -1343,6 +1343,7 @@ void CRSM::setupCmds() cmdGroups.clear(); addCommand("admin", &CRSM::admin, Clonk | IRC, User, "Ohne Name trägt es den Autor der Nachricht als Rundenadmin ein, bzw. mit Name den Spieler mit entsprechendem Namen, insofern nicht bereits ein Rundenadmin feststeht.", "[Chatnick¦PC-Name]"); + addCommand("admin?", &CRSM::getAdmin, Clonk | IRC, User, "Fragt den aktuellen Rundenadmin ab."); addCommand("ingameadmin", &CRSM::ingameadmin, IRC | Management, Admin, "Legt den Ingame-Rundenadmin fest.", ""); addCommand("noadmin", &CRSM::noadmin, Clonk | IRC | Management, Admin, "Entzieht dem (IRC-)Rundenadmin seine Rechte, damit jemand anders Rundenadmin sein kann."); @@ -2315,6 +2316,35 @@ CMD_FUNCTION_IMPL(ircWatch) } } +CMD_FUNCTION_IMPL(getAdmin) + if(Session.IRC.Admin.empty() && Session.Clonk.Admin.empty()) + { + respond(client, "Zurzeit gibt es keinen Rundenadmin.\n"); + } + else + { + QString response; + int count = 0; + if(!Session.IRC.Admin.empty()) + { + response = Session.IRC.Admin.toString(); + ++count; + } + if(!Session.Clonk.Admin.empty()) + { + if(count > 0) + { + response.append(" und "); + } + response.append(Session.Clonk.Admin.toString()); + ++count; + } + response.append(count > 1 ? " sind " : " ist "); + response.append("Rundenadmin.\n"); + respond(client, response); + } +} + IRC_CHECK_CALLBACK_IMPL(ircSayQuery) if(status <= 0) { diff --git a/src/crsm.hpp b/src/crsm.hpp index 3e11054..b5fcd1f 100644 --- a/src/crsm.hpp +++ b/src/crsm.hpp @@ -280,6 +280,7 @@ private: CMD_FUNCTION(passToClonkNumeric); CMD_FUNCTION(passToClonkNumericOrEmpty); CMD_FUNCTION(admin); + CMD_FUNCTION(getAdmin); CMD_FUNCTION(host); CMD_FUNCTION(list); CMD_FUNCTION(queue); -- cgit v1.2.3-54-g00ecf