Add events for quiet

This commit is contained in:
TingPing 2013-04-07 17:49:30 -04:00
parent c766b24920
commit 3c4a154f0a
3 changed files with 47 additions and 0 deletions

View File

@ -392,6 +392,8 @@ handle_single_mode (mode_run *mr, char sign, char mode, char *nick,
session *sess;
server *serv = mr->serv;
char outbuf[4];
char *cm = serv->chanmodes;
gboolean supportsq = FALSE;
outbuf[0] = sign;
outbuf[1] = 0;
@ -417,6 +419,17 @@ handle_single_mode (mode_run *mr, char sign, char mode, char *nick,
record_chan_mode (sess, sign, mode, arg);
}
/* Is q a chanmode on this server? */
if (cm)
while (*cm)
{
if (*cm == ',')
break;
if (*cm == 'q')
supportsq = TRUE;
cm++;
}
switch (sign)
{
case '+':
@ -460,6 +473,12 @@ handle_single_mode (mode_run *mr, char sign, char mode, char *nick,
if (!quiet)
EMIT_SIGNAL (XP_TE_CHANINVITE, sess, nick, arg, NULL, NULL, 0);
return;
case 'q':
if (!supportsq)
break; /* +q is owner on this server */
if (!quiet)
EMIT_SIGNAL (XP_TE_CHANQUIET, sess, nick, arg, NULL, NULL, 0);
return;
}
break;
case '-':
@ -503,6 +522,12 @@ handle_single_mode (mode_run *mr, char sign, char mode, char *nick,
if (!quiet)
EMIT_SIGNAL (XP_TE_CHANRMINVITE, sess, nick, arg, NULL, NULL, 0);
return;
case 'q':
if (!supportsq)
break; /* -q is owner on this server */
if (!quiet)
EMIT_SIGNAL (XP_TE_CHANUNQUIET, sess, nick, arg, NULL, NULL, 0);
return;
}
}

View File

@ -1145,6 +1145,11 @@ static char * const pevt_chanban_help[] = {
N_("The ban mask"),
};
static char * const pevt_chanquiet_help[] = {
N_("The nick of the person who did the quieting"),
N_("The quiet mask"),
};
static char * const pevt_chanrmkey_help[] = {
N_("The nick who removed the key"),
};
@ -1172,6 +1177,11 @@ static char * const pevt_chanunban_help[] = {
N_("The ban mask"),
};
static char * const pevt_chanunquiet_help[] = {
N_("The nick of the person of did the unquiet'ing"),
N_("The quiet mask"),
};
static char * const pevt_chanexempt_help[] = {
N_("The nick of the person who did the exempt"),
N_("The exempt mask"),

View File

@ -148,6 +148,12 @@ pevt_chanop_help
%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O
2
Channel Quiet
XP_TE_CHANQUIET
pevt_chanquiet_help
%C22*%O$t%C26$1%O sets quiet on %C18$2%O
2
Channel Remove Exempt
XP_TE_CHANRMEXEMPT
pevt_chanrmexempt_help
@ -190,6 +196,12 @@ pevt_chanunban_help
%C22*%O$t%C26$1%O removes ban on %C18$2%O
2
Channel UnQuiet
XP_TE_CHANUNQUIET
pevt_chanunquiet_help
%C22*%O$t%C26$1%O removes quiet on %C18$2%O
2
Channel Voice
XP_TE_CHANVOICE
pevt_chanvoice_help