Auto-join all currently open channels in Irssi

4.8k Views Asked by At

Is there a way to tell Irssi that I want to auto-join all of the channels that are currently open?

I want something like:

/channel add -auto <all my currently open channels>
/save
2

There are 2 best solutions below

0
earldouglas On BEST ANSWER

I found the answer here:

/alias addallchannels script exec foreach my \$channel (Irssi::channels()) { Irssi::command("channel add -auto \$channel->{name} \$channel->{server}->{tag} \$channel->{key}")\;}

Followed by:

/addallchannels
/save
2
sizzle beam On

Irssi has had an /ADDALLCHANS alias since at least July 2014 that does exactly what you want: add all currently joined channels to the auto-join list.

Specifically, the alias is defined as: ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";

You'll still want to call /save afterwards if you want the settings to persist.