diff options
| -rw-r--r-- | src/crsm.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/src/crsm.cpp b/src/crsm.cpp index 2e1d6c0..1503d0e 100644 --- a/src/crsm.cpp +++ b/src/crsm.cpp @@ -427,30 +427,45 @@ void CRSM::ircMessageReceived(IrcMessage *message) } else if(!privMessage->isAction() && !(command = getCommand(mess)).isEmpty()) { - if(!cmd(command, client)) - { - respond(client, "Unbekannter Befehl: \"" + command + "\"!"); - } + // command is handled afterwards } - else if(privMessage->isPrivate() && ircMods.contains(target)) + else if(privMessage->isPrivate()) { - if(aliasWishEditor == target) - { - editAliasWishes(mess); - } - else if(ircModIOList.contains(message->nick())) + bool handled = false; + if(ircMods.contains(target)) { - QString writeMessage; - if(mess.at(0) == '\\' || mess.at(0) == '/') + if(aliasWishEditor == target) { - mess[0] = '/'; + editAliasWishes(mess); + handled = true; } - else + else if(ircModIOList.contains(message->nick())) { - writeMessage = "[IRC]<" + message->nick() + "> "; + QString writeMessage; + if(mess.at(0) == '\\' || mess.at(0) == '/') + { + mess[0] = '/'; + } + else + { + writeMessage = "[IRC]<" + message->nick() + "> "; + } + writeMessage += mess; + writeToServer(writeMessage + "\n"); + handled = true; } - writeMessage += mess; - writeToServer(writeMessage + "\n"); + } + if(!handled) + { + command = mess; + } + } + + if(!command.isEmpty()) + { + if(!cmd(command, client)) + { + respond(client, "Unbekannter Befehl: \"" + command + "\"!"); } } |
