]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/chancmds/rejoin.c
1 /* Automatically generated by refactor.pl.
7 * CMDDESC: Makes the bot rejoin a channel.
8 * CMDFUNC: csc_dorejoin
9 * CMDPROTO: int csc_dorejoin(void *source, int cargc, char **cargv);
10 * CMDHELP: Usage: rejoin <channel>
11 * CMDHELP: Makes the bot rejoin the specified channel.
14 #include "../chanserv.h"
15 #include "../../nick/nick.h"
16 #include "../../lib/flags.h"
17 #include "../../lib/irc_string.h"
18 #include "../../channel/channel.h"
19 #include "../../parser/parser.h"
20 #include "../../irc/irc.h"
21 #include "../../localuser/localuserchannel.h"
25 int csc_dorejoin(void *source
, int cargc
, char **cargv
) {
31 chanservstdmessage(sender
, QM_NOTENOUGHPARAMS
, "rejoin");
35 if (!(cip
=findchanindex(cargv
[0])) || !(rcp
=cip
->exts
[chanservext
])) {
36 chanservstdmessage(sender
, QM_UNKNOWNCHAN
, cargv
[0]);
41 chanservstdmessage(sender
, QM_EMPTYCHAN
, cip
->name
->content
);
45 if (CIsJoined(rcp
) && !CIsSuspended(rcp
)) {
47 chanservjoinchan(cip
->channel
);
49 /* Parting the channel may have destroyed it. In that case, don't bother rejoining. */
51 chanservjoinchan(cip
->channel
);
54 chanservstdmessage(sender
, QM_DONE
);