use extended-join capability

This commit is contained in:
ailin-nemui 2019-08-13 02:16:22 +02:00
commit 25270e0465
8 changed files with 25 additions and 9 deletions

View file

@ -349,14 +349,15 @@ static void sig_message_own_private(SERVER_REC *server, const char *msg,
}
static void sig_message_join(SERVER_REC *server, const char *channel,
const char *nick, const char *address)
const char *nick, const char *address,
const char *account, const char *realname)
{
int level = MSGLEVEL_JOINS;
ignore_check_plus(server, nick, address, channel, NULL, &level, FALSE);
printformat(server, channel, level,
TXT_JOIN, nick, address, channel);
TXT_JOIN, nick, address, channel, account, realname);
}
static void sig_message_part(SERVER_REC *server, const char *channel,

View file

@ -94,7 +94,7 @@ FORMAT_REC fecommon_core_formats[] = {
/* ---- */
{ NULL, "Channels", 0 },
{ "join", "{channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}", 3, { 0, 0, 0 } },
{ "join", "{channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}", 5, { 0, 0, 0, 0, 0 } },
{ "part", "{channick $0} {chanhost $1} has left {channel $2} {reason $3}", 4, { 0, 0, 0, 0 } },
{ "kick", "{channick $0} was kicked from {channel $1} by {nick $2} {reason $3}", 5, { 0, 0, 0, 0, 0 } },
{ "quit", "{channick $0} {chanhost $1} has quit {reason $2}", 4, { 0, 0, 0, 0 } },

View file

@ -113,16 +113,16 @@ static void event_notice(IRC_SERVER_REC *server, const char *data,
static void event_join(IRC_SERVER_REC *server, const char *data,
const char *nick, const char *addr)
{
char *params, *channel, *tmp;
char *params, *channel, *tmp, *account, *realname;
g_return_if_fail(data != NULL);
params = event_get_params(data, 1, &channel);
params = event_get_params(data, 3, &channel, &account, &realname);
tmp = strchr(channel, 7); /* ^G does something weird.. */
if (tmp != NULL) *tmp = '\0';
signal_emit("message join", 4, server,
get_visible_target(server, channel), nick, addr);
signal_emit("message join", 6, server,
get_visible_target(server, channel), nick, addr, account, realname);
g_free(params);
}