diff --git a/src/fe-common/irc/fe-events-numeric.c b/src/fe-common/irc/fe-events-numeric.c index efe0cfa8..63d11970 100644 --- a/src/fe-common/irc/fe-events-numeric.c +++ b/src/fe-common/irc/fe-events-numeric.c @@ -578,6 +578,14 @@ static void event_help(IRC_SERVER_REC *server, int formatnum, const char *data) g_free(params); } +static void event_helpnotfound(IRC_SERVER_REC *server, const char *data, + const char *nick) +{ + /* Numeric 524 (ERR_HELPNOTFOUND) sent as a reply to HELP or HELPOP command. + */ + event_help(server, IRCTXT_HELP_NOT_FOUND, data); +} + static void event_helpstart(IRC_SERVER_REC *server, const char *data, const char *nick) { @@ -761,6 +769,7 @@ void fe_events_numeric_init(void) signal_add("event 372", (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 524", (SIGNAL_FUNC) event_helpnotfound); signal_add("event 704", (SIGNAL_FUNC) event_helpstart); signal_add("event 705", (SIGNAL_FUNC) event_helptxt); signal_add("event 706", (SIGNAL_FUNC) event_endofhelp); diff --git a/src/fe-common/irc/module-formats.c b/src/fe-common/irc/module-formats.c index baf9e5a4..131676c5 100644 --- a/src/fe-common/irc/module-formats.c +++ b/src/fe-common/irc/module-formats.c @@ -89,6 +89,7 @@ FORMAT_REC fecommon_irc_formats[] = { { "invitelist_long", "{channel $0}: invite {ban $1} {comment by {nick $2}, $3 secs ago}", 4, { 0, 0, 0, 1 } }, { "no_such_channel", "{channel $0}: No such channel", 1, { 0 } }, { "channel_synced", "Join to {channel $0} was synced in {hilight $1} secs", 2, { 0, 2 } }, + { "irctxt_help_not_found", "$1", 2, { 0, 0 } }, { "irctxt_help_start", "$1", 2, { 0, 0 } }, { "irctxt_help_txt", "$1", 2, { 0, 0 } }, { "irctxt_end_of_help", "$1", 2, { 0, 0 } }, diff --git a/src/fe-common/irc/module-formats.h b/src/fe-common/irc/module-formats.h index 21bf4594..d2e7c1e2 100644 --- a/src/fe-common/irc/module-formats.h +++ b/src/fe-common/irc/module-formats.h @@ -66,6 +66,7 @@ enum { IRCTXT_INVITELIST_LONG, IRCTXT_NO_SUCH_CHANNEL, IRCTXT_CHANNEL_SYNCED, + IRCTXT_HELP_NOT_FOUND, IRCTXT_HELP_START, IRCTXT_HELP_TXT, IRCTXT_END_OF_HELP,