Major rewrite: now using json config, correctly handling pm's, joining multiple channels