summaryrefslogtreecommitdiff
path: root/modules/core/cs_status.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-11-24 21:40:56 -0600
committerAdam <Adam@anope.org>2010-12-12 19:36:19 -0500
commitcb6ef574e3df5cc846247450b74ca37d265f319e (patch)
tree8ce3374a537c312af63c78125bfea4622bb188f0 /modules/core/cs_status.cpp
parent37e02a3594fdddc3d5a3df0501c528f42db6c4da (diff)
Send replies from fantasy commands back to the channel, this will be expanded on later
Diffstat (limited to 'modules/core/cs_status.cpp')
-rw-r--r--modules/core/cs_status.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/modules/core/cs_status.cpp b/modules/core/cs_status.cpp
index d40e721d8..9310f3382 100644
--- a/modules/core/cs_status.cpp
+++ b/modules/core/cs_status.cpp
@@ -20,27 +20,17 @@ class CommandCSStatus : public Command
{
}
- CommandReturn Execute(User *u, const std::vector<Anope::string> &params)
+ CommandReturn Execute(CommandSource &source, const std::vector<Anope::string> &params)
{
- ChannelInfo *ci;
- User *u2;
- Anope::string chan = params[0];
- Anope::string nick = params[1];
- Anope::string temp;
+ User *u = source.u;
+ ChannelInfo *ci = source.ci;
+ const Anope::string &nick = params[1];
- if (!(ci = cs_findchan(chan)))
- {
- temp = chan;
- chan = nick;
- nick = temp;
- ci = cs_findchan(chan);
- }
- if (!ci)
- u->SendMessage(ChanServ, CHAN_STATUS_NOT_REGGED, temp.c_str());
- else if ((u2 = finduser(nick)))
- u->SendMessage(ChanServ, CHAN_STATUS_INFO, chan.c_str(), nick.c_str(), get_access(u2, ci));
+ User *u2 = finduser(nick);
+ if (u2)
+ source.Reply(CHAN_STATUS_INFO, ci->name.c_str(), u2->nick.c_str(), get_access(u2, ci));
else /* !u2 */
- u->SendMessage(ChanServ, CHAN_STATUS_NOTONLINE, nick.c_str());
+ source.Reply(CHAN_STATUS_NOTONLINE, nick.c_str());
return MOD_CONT;
}