diff options
author | Adam <Adam@anope.org> | 2011-02-11 03:12:39 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-02-11 03:12:39 -0500 |
commit | 2529ff6daef7eb387d2fce4c6df5a31029fd5bb2 (patch) | |
tree | 25c4cf0c84bef8b47c3824ba827b3816b8f17221 /src/users.cpp | |
parent | 7bdf592f7ea2d527930ada96d8e07fae966239d4 (diff) |
Made the help command description code more sane
Diffstat (limited to 'src/users.cpp')
-rw-r--r-- | src/users.cpp | 20 |
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. |