summaryrefslogtreecommitdiff
path: root/src/users.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-02-11 03:12:39 -0500
committerAdam <Adam@anope.org>2011-02-11 03:12:39 -0500
commit2529ff6daef7eb387d2fce4c6df5a31029fd5bb2 (patch)
tree25c4cf0c84bef8b47c3824ba827b3816b8f17221 /src/users.cpp
parent7bdf592f7ea2d527930ada96d8e07fae966239d4 (diff)
Made the help command description code more sane
Diffstat (limited to 'src/users.cpp')
-rw-r--r--src/users.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 9f1cc8404..fa69b928a 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -234,17 +234,27 @@ void User::SendMessage(BotInfo *source, const char *fmt, ...)
}
}
-void User::SendMessage(BotInfo *source, const Anope::string &msg)
+void User::SendMessage(BotInfo *source, Anope::string msg)
{
+ if (Config->UseStrictPrivMsg)
+ msg = msg.replace_all_cs("%R", "/");
+ else
+ msg = msg.replace_all_cs("%R", "/msg ");
+
/* Send privmsg instead of notice if:
* - UsePrivmsg is enabled
* - The user is not registered and NSDefMsg is enabled
* - The user is registered and has set /ns set msg on
*/
- if (Config->UsePrivmsg && ((!this->nc && Config->NSDefFlags.HasFlag(NI_MSG)) || (this->nc && this->nc->HasFlag(NI_MSG))))
- ircdproto->SendPrivmsg(source, this->nick, "%s", msg.c_str());
- else
- ircdproto->SendNotice(source, this->nick, "%s", msg.c_str());
+ sepstream sep(msg, '\n');
+ Anope::string tok;
+ while (sep.GetToken(tok))
+ {
+ if (Config->UsePrivmsg && ((!this->nc && Config->NSDefFlags.HasFlag(NI_MSG)) || (this->nc && this->nc->HasFlag(NI_MSG))))
+ ircdproto->SendPrivmsg(source, this->nick, "%s", tok.c_str());
+ else
+ ircdproto->SendNotice(source, this->nick, "%s", tok.c_str());
+ }
}
/** Collides a nick.