The bind is just fine, "*" is a wide enough mask to match pretty much anyone joining the channel. However, the argument list of cmd:stream does not match the required parameters of the join binding; it only passes on 4 (nickname, user@host, handle, and channel) while your cmd:stream proc has 5, as you already use it with pub bindings.
There are two fixes for this;
1. use a different proc for your join binding
Code: Select all
bind join - * join:stream
proc join:stream {nick host handle channel} {
catch {exec cat /home/evotech/eggdrop/scripts/urls | perl /home/evotech/eggdrop/scripts/streams.pl} streams
putnotc $nick $streams
}
2. Make the last argument (text) optional by assigning it a default value:
Code: Select all
bind join - * cmd:stream
proc cmd:stream {nick uhost handle chan {text ""}} {
catch {exec cat /home/evotech/eggdrop/scripts/urls | perl /home/evotech/eggdrop/scripts/streams.pl} streams
putnotc $nick "$streams"
}