'Join message
Parameters: ( <channel> *( "," <channel> ) [ <key> *( "," <key> ) ] )'

def irc_JOIN(self, prefix, params):

    try:
        groupName = params[0]
        if isinstance(groupName, bytes):
            groupName = groupName.decode(self.encoding)
    except UnicodeDecodeError:
        self.sendMessage(irc.ERR_NOSUCHCHANNEL, params[0], ':No    such    channel    (could    not    decode    your    unicode!)')
        return
    if groupName.startswith('#'):
        groupName = groupName[1:]
    def cbGroup(group):
        def cbJoin(ign):
            self.userJoined(group, self)
            self.names(self.name, ('#' + group.name), [user.name for user in group.iterusers()])
            self._sendTopic(group)
        return self.avatar.join(group).addCallback(cbJoin)
    def ebGroup(err):
        self.sendMessage(irc.ERR_NOSUCHCHANNEL, ('#' + groupName), ':No    such    channel.')
    self.realm.getGroup(groupName).addCallbacks(cbGroup, ebGroup)
