diff options
-rw-r--r-- | modules/protocol/plexus.cpp | 10 | ||||
-rw-r--r-- | modules/protocol/ratbox.cpp | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/modules/protocol/plexus.cpp b/modules/protocol/plexus.cpp index 3b299e962..db737824f 100644 --- a/modules/protocol/plexus.cpp +++ b/modules/protocol/plexus.cpp @@ -234,6 +234,14 @@ class PlexusProto : public IRCDProto class PlexusIRCdMessage : public IRCdMessage { public: + bool OnJoin(const Anope::string &source, const std::vector<Anope::string> ¶ms) + { + if (params.size() < 2) + return IRCdMessage::OnJoin(source, params); + do_join(source, params[1], params[0]); + return true; + } + bool OnMode(const Anope::string &source, const std::vector<Anope::string> ¶ms) { if (params.size() < 2) @@ -579,7 +587,7 @@ class ProtoPlexus : public Module ModeManager::AddUserMode(new UserMode(UMODE_WALLOPS, 'w')); ModeManager::AddUserMode(new UserMode(UMODE_DEAF, 'D')); ModeManager::AddUserMode(new UserMode(UMODE_SOFTCALLERID, 'G')); - ModeManager::AddUserMode(new UserMode(UMODE_NETADMIN, 'M')); + ModeManager::AddUserMode(new UserMode(UMODE_NETADMIN, 'N')); ModeManager::AddUserMode(new UserMode(UMODE_REGPRIV, 'R')); ModeManager::AddUserMode(new UserMode(UMODE_SSL, 'S')); ModeManager::AddUserMode(new UserMode(UMODE_WEBIRC, 'W')); diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index d55a2f628..dba303d5a 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -494,8 +494,13 @@ bool event_pong(const Anope::string &source, const std::vector<Anope::string> &p bool event_tmode(const Anope::string &source, const std::vector<Anope::string> ¶ms) { - if (params[1][0] == '#' || params[1][0] == '&') - do_cmode(source, params[0], params[1], params[2]); + if (params[1][0] == '#') + { + Anope::string modes = params[2]; + for (unsigned i = 3; i < params.size(); ++i) + modes += " " + params[i]; + do_cmode(source, params[1], modes, params[0]); + } return true; } |