Threw this together. Multi-channel, auto-command-reloading, join/parting, auto-reconnection, etc