From 396cee7d0d008cfdbbb9eb5398e24f2f0df27912 Mon Sep 17 00:00:00 2001 From: DukePyrolator Date: Thu, 17 Sep 2009 05:35:43 +0000 Subject: [PATCH] partly fixed chanserv invite (it still sends the wrong message when inviting another user) git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2509 5417fbe8-f217-4b02-8779-1006273d7864 --- src/core/cs_invite.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/core/cs_invite.c b/src/core/cs_invite.c index 3d3d97d84..cf66c9b04 100644 --- a/src/core/cs_invite.c +++ b/src/core/cs_invite.c @@ -18,7 +18,7 @@ class CommandCSInvite : public Command { public: - CommandCSInvite() : Command("INVITE", 1, 1) + CommandCSInvite() : Command("INVITE", 1, 3) { } @@ -27,6 +27,7 @@ class CommandCSInvite : public Command const char *chan = params[0].c_str(); Channel *c; ChannelInfo *ci; + User *u2; if (!(c = findchan(chan))) { @@ -42,11 +43,22 @@ class CommandCSInvite : public Command return MOD_CONT; } - if (is_on_chan(c, u)) + if (params.size() == 1) + u2 = u; + else + { + if (!(u2 = finduser(params[1].c_str()))) + { + notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, params[1].c_str()); + return MOD_CONT; + } + } + + if (is_on_chan(c, u2)) notice_lang(s_ChanServ, u, CHAN_INVITE_ALREADY_IN, c->name); else { - ircdproto->SendInvite(whosends(ci), chan, u->nick); + ircdproto->SendInvite(whosends(ci), chan, u2->nick); notice_lang(s_ChanServ, u, CHAN_INVITE_SUCCESS, c->name); } return MOD_CONT;