.say() alias .msg() on public Network object
channel:join + channel:leave plugin events