summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/modules/m_helpop.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp
index 9c7d409a8..7ce44441d 100644
--- a/src/modules/m_helpop.cpp
+++ b/src/modules/m_helpop.cpp
@@ -45,16 +45,17 @@ class CommandHelpop : public Command
if (parameter == "index")
{
/* iterate over all helpop items */
- user->WriteServ("NOTICE %s :HELPOP topic index", user->nick.c_str());
+ user->WriteServ("290 %s :HELPOP topic index", user->nick.c_str());
for (std::map<irc::string, std::string>::iterator iter = helpop_map.begin(); iter != helpop_map.end(); iter++)
{
- user->WriteServ("NOTICE %s : %s", user->nick.c_str(), iter->first.c_str());
+ user->WriteServ("292 %s : %s", user->nick.c_str(), iter->first.c_str());
}
- user->WriteServ("NOTICE %s :*** End of HELPOP topic index", user->nick.c_str());
+ user->WriteServ("292 %s :*** End of HELPOP topic index", user->nick.c_str());
}
else
{
- user->WriteServ("NOTICE %s :*** HELPOP for %s", user->nick.c_str(), parameter.c_str());
+ user->WriteServ("290 %s :*** HELPOP for %s", user->nick.c_str(), parameter.c_str());
+ user->WriteServ("292 %s : -", user->nick.c_str());
std::map<irc::string, std::string>::iterator iter = helpop_map.find(parameter);
@@ -68,9 +69,16 @@ class CommandHelpop : public Command
std::string token = "*";
while (stream.GetToken(token))
- user->WriteServ("NOTICE %s :%s", user->nick.c_str(), token.c_str());
+ {
+ // Writing a blank line will not work with some clients
+ if (token.empty())
+ user->WriteServ("292 %s : ", user->nick.c_str());
+ else
+ user->WriteServ("292 %s :%s", user->nick.c_str(), token.c_str());
+ }
- user->WriteServ("NOTICE %s :*** End of HELPOP", user->nick.c_str());
+ user->WriteServ("292 %s : -", user->nick.c_str());
+ user->WriteServ("292 %s :*** End of HELPOP", user->nick.c_str());
}
/* We dont want these going out over the network, return CMD_FAILURE