summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/crsm.cpp24
-rw-r--r--src/crsm.hpp1
2 files changed, 25 insertions, 0 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp
index e99fabb..468a33c 100644
--- a/src/crsm.cpp
+++ b/src/crsm.cpp
@@ -1374,6 +1374,7 @@ void CRSM::setupCmds()
addCommand("clear", &CRSM::clear, Clonk | IRC | Management, Moderator, "Löscht die Wunschliste.");
addCommand("aliaswishes", &CRSM::aliaswishes, IRC | Management, Moderator, "Zum geführten Bearbeiten der Aliaswünsche.");
addCommand("newalias", &CRSM::newalias, Clonk | IRC | Management, Moderator, "Trägt <Alias> als Alias für <Szenario> ein.", "<Alias> = <Szenario>");
+ addCommand("deletealias", &CRSM::deletealias, Clonk | IRC | Management, Moderator, "Entfernt den <Alias>.", "<Alias>");
addCommand("modinfo", &CRSM::modinfo, IRC | Management, Moderator, "Listet alle Moderatoren auf.");
@@ -2245,6 +2246,29 @@ CMD_FUNCTION_IMPL(newalias)
return Success;
}
+CMD_FUNCTION_IMPL(deletealias)
+ if(args.isEmpty())
+ {
+ respond(client, "Zum Entfernen muss ein Aliasname angegeben werden.\n");
+ return SyntaxFail;
+ }
+ else
+ {
+ if(Config.Hosting.Alias.contains(args))
+ {
+ QString aliasFor = Config.Hosting.Alias.value(args);
+ Config.Hosting.Alias.remove(args);
+ respond(client, "Alias \"" + args + "\" für \"" + aliasFor + "\" wurde entfernt.\n");
+ }
+ else
+ {
+ respond(client, "Unbekannter Alias: \"" + args + "\"!\n");
+ }
+
+ return Success;
+ }
+}
+
CMD_FUNCTION_IMPL(modinfo)
respond(client, "Moderatoren sind (* ist aktiv, + verwendet IO, - verwendet irc watch):\n", RespondType::Private);
foreach(const QString &mod, Config.IRC.Moderators.keys())
diff --git a/src/crsm.hpp b/src/crsm.hpp
index 56d9b18..63fcb5d 100644
--- a/src/crsm.hpp
+++ b/src/crsm.hpp
@@ -314,6 +314,7 @@ private:
CMD_FUNCTION(clear);
CMD_FUNCTION(aliaswishes);
CMD_FUNCTION(newalias);
+ CMD_FUNCTION(deletealias);
CMD_FUNCTION(modinfo);
CMD_FUNCTION(io);
CMD_FUNCTION(passToClonkPcName);