1
0
mirror of https://github.com/irssi/irssi.git synced 2024-09-29 04:45:57 -04:00

Change when the autocmds are sent.

As per #175 if a -botcmd is specified for a given channel without a
-bots parameter then the command is sent right after joining the
channel.
This commit is contained in:
LemonBoy 2016-01-14 23:54:42 +01:00
parent 62cab9d662
commit 2502080871
2 changed files with 14 additions and 3 deletions

View File

@ -245,9 +245,18 @@ void channel_send_autocommands(CHANNEL_REC *channel)
if (rec == NULL || rec->autosendcmd == NULL || !*rec->autosendcmd)
return;
if (rec->botmasks == NULL || !*rec->botmasks) {
/* just send the command. */
eval_special_string(rec->autosendcmd, "", channel->server, channel);
if (channel->wholist == FALSE) {
/* if the autosendcmd alone (with no -bots parameter) has been
* specified then send it right after joining the channel, when
* the WHO list hasn't been yet retrieved.
* Depending on the value of the 'channel_max_who_sync' option
* the WHO list might not be retrieved after the join event. */
if (rec->botmasks == NULL || !*rec->botmasks) {
/* just send the command. */
eval_special_string(rec->autosendcmd, "", channel->server, channel);
}
return;
}

View File

@ -25,9 +25,11 @@
void irc_channels_setup_init(void)
{
signal_add("channel wholist", (SIGNAL_FUNC) channel_send_autocommands);
signal_add("channel joined", (SIGNAL_FUNC) channel_send_autocommands);
}
void irc_channels_setup_deinit(void)
{
signal_remove("channel wholist", (SIGNAL_FUNC) channel_send_autocommands);
signal_remove("channel joined", (SIGNAL_FUNC) channel_send_autocommands);
}