summaryrefslogtreecommitdiff
path: root/src/commands.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 /src/commands.cpp
parent37e02a3594fdddc3d5a3df0501c528f42db6c4da (diff)
Send replies from fantasy commands back to the channel, this will be expanded on later
Diffstat (limited to 'src/commands.cpp')
-rw-r--r--src/commands.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/commands.cpp b/src/commands.cpp
index e1f744954..97078af09 100644
--- a/src/commands.cpp
+++ b/src/commands.cpp
@@ -99,11 +99,12 @@ void mod_run_cmd(BotInfo *bi, User *u, Command *c, const Anope::string &command,
if (MOD_RESULT == EVENT_STOP)
return;
+ ChannelInfo *ci = NULL;
if (params.size() > 0 && !c->HasFlag(CFLAG_STRIP_CHANNEL) && (bi == ChanServ || bi == BotServ))
{
if (ircdproto->IsChannelValid(params[0]))
{
- ChannelInfo *ci = cs_findchan(params[0]);
+ ci = cs_findchan(params[0]);
if (ci)
{
if (ci->HasFlag(CI_FORBIDDEN) && !c->HasFlag(CFLAG_ALLOW_FORBIDDEN))
@@ -141,11 +142,18 @@ void mod_run_cmd(BotInfo *bi, User *u, Command *c, const Anope::string &command,
return;
}
- CommandReturn ret = c->Execute(u, params);
+ CommandSource source;
+ source.u = u;
+ source.ci = ci;
+ source.owner = bi;
+ source.service = fantasy && ci ? ci->bi : c->service;
+ source.fantasy = fantasy;
+
+ CommandReturn ret = c->Execute(source, params);
if (ret == MOD_CONT)
{
- FOREACH_MOD(I_OnPostCommand, OnPostCommand(u, c->service, c->name, params));
+ FOREACH_MOD(I_OnPostCommand, OnPostCommand(source, c, params));
}
}