summaryrefslogtreecommitdiff
path: root/modules/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol')
-rw-r--r--modules/protocol/charybdis.cpp2
-rw-r--r--modules/protocol/ratbox.cpp16
2 files changed, 16 insertions, 2 deletions
diff --git a/modules/protocol/charybdis.cpp b/modules/protocol/charybdis.cpp
index 1f3cb801d..c69fbaf5f 100644
--- a/modules/protocol/charybdis.cpp
+++ b/modules/protocol/charybdis.cpp
@@ -283,7 +283,7 @@ class ProtoCharybdis : public Module
hybrid::BMask message_bmask;
charybdis::Encap message_encap;
charybdis::EUID message_euid;
- hybrid::Join message_join;
+ ratbox::Join message_join;
hybrid::Nick message_nick;
charybdis::Pass message_pass;
hybrid::Pong message_pong;
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 5511bcedf..223902457 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -149,6 +149,20 @@ void ratbox::Encap::Run(MessageSource &source, const std::vector<Anope::string>
}
}
+void ratbox::Join::Run(MessageSource &source, const std::vector<Anope::string> &params)
+{
+ if (params.size() == 1 && params[0] == "0")
+ return Message::Join::Run(source, params);
+
+ if (params.size() < 2)
+ return;
+
+ std::vector<Anope::string> p = params;
+ p.erase(p.begin());
+
+ return Message::Join::Run(source, p);
+}
+
struct IRCDMessagePass : IRCDMessage
{
IRCDMessagePass(Module *creator) : IRCDMessage(creator, "PASS", 4) { SetFlag(IRCDMESSAGE_REQUIRE_SERVER); }
@@ -224,7 +238,7 @@ class ProtoRatbox : public Module
/* Our message handlers */
hybrid::BMask message_bmask;
ratbox::Encap message_encap;
- hybrid::Join message_join;
+ ratbox::Join message_join;
hybrid::Nick message_nick;
IRCDMessagePass message_pass;
hybrid::Pong message_pong;