X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_sajoin.cpp;h=6f91b886495ce9469a84e4f0bb63aebc9ef7c79b;hb=124bc04e841f9ca527b99c37563f19a85dec63fc;hp=dee6746cdbe798aafba0027ce07807b901ac359e;hpb=2e2f1e98a6123aa1177623f92480ce7ba3c55acb;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_sajoin.cpp b/src/modules/m_sajoin.cpp index dee6746cd..6f91b8864 100644 --- a/src/modules/m_sajoin.cpp +++ b/src/modules/m_sajoin.cpp @@ -26,9 +26,8 @@ using namespace std; /* $ModDesc: Provides support for unreal-style SAJOIN command */ - - - +/** Handle /SAJOIN + */ class cmd_sajoin : public command_t { public: @@ -55,20 +54,31 @@ class cmd_sajoin : public command_t return CMD_FAILURE; } - ServerInstance->WriteOpers(std::string(user->nick)+" used SAJOIN to make "+std::string(dest->nick)+" join "+parameters[1]); chanrec::JoinUser(ServerInstance, dest, parameters[1], true); /* Fix for dotslasher and w00t - if the join didnt succeed, return CMD_FAILURE so that it doesnt propogate */ chanrec* n = ServerInstance->FindChan(parameters[1]); if (n) { - return (n->HasUser(dest) ? CMD_SUCCESS : CMD_FAILURE); + if (n->HasUser(dest)) + { + ServerInstance->WriteOpers(std::string(user->nick)+" used SAJOIN to make "+std::string(dest->nick)+" join "+parameters[1]); + return CMD_SUCCESS; + } + else + { + user->WriteServ("NOTICE "+std::string(user->nick)+" :*** Could not join "+std::string(dest->nick)+" to "+parameters[1]+" (User is probably banned, or blocking modes)"); + return CMD_FAILURE; + } } else + { + user->WriteServ("NOTICE "+std::string(user->nick)+" :*** Could not join "+std::string(dest->nick)+" to "+parameters[1]); return CMD_FAILURE; + } } - return CMD_SUCCESS; + return CMD_FAILURE; } }; @@ -90,7 +100,7 @@ class ModuleSajoin : public Module virtual Version GetVersion() { - return Version(1,0,0,1,VF_VENDOR); + return Version(1,1,0,1,VF_VENDOR,API_VERSION); } };