Handle ERR_CANTJOINOPERSONLY numeric.

FS#759
This commit is contained in:
LemonBoy 2015-12-07 00:10:32 +01:00
commit 10fe6fedfe
3 changed files with 9 additions and 0 deletions

View file

@ -511,6 +511,11 @@ static void event_bad_channel_mask(IRC_SERVER_REC *server, const char *data)
cannot_join(server, data, IRCTXT_JOINERROR_BAD_MASK); cannot_join(server, data, IRCTXT_JOINERROR_BAD_MASK);
} }
static void event_operators_only(IRC_SERVER_REC *server, const char *data)
{
cannot_join(server, data, IRCTXT_JOINERROR_OPERSONLY);
}
static void event_477(IRC_SERVER_REC *server, const char *data, static void event_477(IRC_SERVER_REC *server, const char *data,
const char *nick) const char *nick)
{ {
@ -688,6 +693,7 @@ void fe_events_numeric_init(void)
signal_add("event 372", (SIGNAL_FUNC) event_motd); signal_add("event 372", (SIGNAL_FUNC) event_motd);
signal_add("event 422", (SIGNAL_FUNC) event_motd); signal_add("event 422", (SIGNAL_FUNC) event_motd);
signal_add("event 439", (SIGNAL_FUNC) event_target_too_fast); signal_add("event 439", (SIGNAL_FUNC) event_target_too_fast);
signal_add("event 520", (SIGNAL_FUNC) event_operators_only);
signal_add("event 707", (SIGNAL_FUNC) event_target_too_fast); signal_add("event 707", (SIGNAL_FUNC) event_target_too_fast);
signal_add("default event numeric", (SIGNAL_FUNC) event_numeric); signal_add("default event numeric", (SIGNAL_FUNC) event_numeric);
@ -781,6 +787,7 @@ void fe_events_numeric_deinit(void)
signal_remove("event 372", (SIGNAL_FUNC) event_motd); signal_remove("event 372", (SIGNAL_FUNC) event_motd);
signal_remove("event 422", (SIGNAL_FUNC) event_motd); signal_remove("event 422", (SIGNAL_FUNC) event_motd);
signal_remove("event 439", (SIGNAL_FUNC) event_target_too_fast); signal_remove("event 439", (SIGNAL_FUNC) event_target_too_fast);
signal_remove("event 520", (SIGNAL_FUNC) event_operators_only);
signal_remove("event 707", (SIGNAL_FUNC) event_target_too_fast); signal_remove("event 707", (SIGNAL_FUNC) event_target_too_fast);
signal_remove("default event numeric", (SIGNAL_FUNC) event_numeric); signal_remove("default event numeric", (SIGNAL_FUNC) event_numeric);

View file

@ -57,6 +57,7 @@ FORMAT_REC fecommon_irc_formats[] = {
{ "joinerror_bad_key", "Cannot join to channel {channel $0} (Bad channel key)", 1, { 0 } }, { "joinerror_bad_key", "Cannot join to channel {channel $0} (Bad channel key)", 1, { 0 } },
{ "joinerror_bad_mask", "Cannot join to channel {channel $0} (Bad channel mask)", 1, { 0 } }, { "joinerror_bad_mask", "Cannot join to channel {channel $0} (Bad channel mask)", 1, { 0 } },
{ "joinerror_unavail", "Cannot join to channel {channel $0} (Channel is temporarily unavailable)", 1, { 0 } }, { "joinerror_unavail", "Cannot join to channel {channel $0} (Channel is temporarily unavailable)", 1, { 0 } },
{ "joinerror_opersonly", "Cannot join to channel {channel $0} (You must be an operator)", 1, { 0 } },
{ "joinerror_duplicate", "Channel {channel $0} already exists - cannot create it", 1, { 0 } }, { "joinerror_duplicate", "Channel {channel $0} already exists - cannot create it", 1, { 0 } },
{ "channel_rejoin", "Channel {channel $0} is temporarily unavailable, this is normally because of netsplits. Irssi will now automatically try to rejoin back to this channel until the join is successful. Use /RMREJOINS command if you wish to abort this.", 1, { 0 } }, { "channel_rejoin", "Channel {channel $0} is temporarily unavailable, this is normally because of netsplits. Irssi will now automatically try to rejoin back to this channel until the join is successful. Use /RMREJOINS command if you wish to abort this.", 1, { 0 } },
{ "inviting", "Inviting {nick $0} to {channel $1}", 2, { 0, 0 } }, { "inviting", "Inviting {nick $0} to {channel $1}", 2, { 0, 0 } },

View file

@ -34,6 +34,7 @@ enum {
IRCTXT_JOINERROR_BAD_KEY, IRCTXT_JOINERROR_BAD_KEY,
IRCTXT_JOINERROR_BAD_MASK, IRCTXT_JOINERROR_BAD_MASK,
IRCTXT_JOINERROR_UNAVAIL, IRCTXT_JOINERROR_UNAVAIL,
IRCTXT_JOINERROR_OPERSONLY,
IRCTXT_JOINERROR_DUPLICATE, IRCTXT_JOINERROR_DUPLICATE,
IRCTXT_CHANNEL_REJOIN, IRCTXT_CHANNEL_REJOIN,
IRCTXT_INVITING, IRCTXT_INVITING,