summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/protocol/plexus.cpp10
-rw-r--r--modules/protocol/ratbox.cpp9
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> &params)
+ {
+ 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> &params)
{
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> &params)
{
- 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;
}