X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_user%2Fcmd_part.cpp;h=4da2787d902b13f4d958e1d65ab0d1c8d86bdd2e;hb=292c2b90c8a9c7a05f34bdb6900e160f992e4f69;hp=b8395f43ef43e01b6275a0b7d15e6520d16eeabe;hpb=55b7fabbc3cce02447a0bde21a541f8c66f7d863;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_user/cmd_part.cpp b/src/coremods/core_user/cmd_part.cpp index b8395f43e..4da2787d9 100644 --- a/src/coremods/core_user/cmd_part.cpp +++ b/src/coremods/core_user/cmd_part.cpp @@ -31,17 +31,11 @@ CommandPart::CommandPart(Module* parent) CmdResult CommandPart::Handle (const std::vector& parameters, User *user) { std::string reason; - - if (IS_LOCAL(user)) - { - if (!ServerInstance->Config->FixedPart.empty()) - reason = ServerInstance->Config->FixedPart; - else if (parameters.size() > 1) - reason = ServerInstance->Config->PrefixPart + parameters[1] + ServerInstance->Config->SuffixPart; - } - else + if (parameters.size() > 1) { - if (parameters.size() > 1) + if (IS_LOCAL(user)) + msgwrap.Wrap(parameters[1], reason); + else reason = parameters[1]; } @@ -50,13 +44,15 @@ CmdResult CommandPart::Handle (const std::vector& parameters, User Channel* c = ServerInstance->FindChan(parameters[0]); - if (c) + if (!c) { - c->PartUser(user, reason); + user->WriteNumeric(Numerics::NoSuchNick(parameters[0])); + return CMD_FAILURE; } - else + + if (!c->PartUser(user, reason)) { - user->WriteNumeric(ERR_NOSUCHNICK, "%s :No such nick/channel", parameters[0].c_str()); + user->WriteNumeric(ERR_NOTONCHANNEL, c->name, "You're not on that channel"); return CMD_FAILURE; }