async def on_raw_join(self, message):
        """ JOIN command. """
        nick, metadata = self._parse_user(message.source)
        self._sync_user(nick, metadata)

        channels = message.params[0].split(',')
        if self.is_same_nick(self.nickname, nick):
            # Add to our channel list, we joined here.
            for channel in channels:
                if not self.in_channel(channel):
                    self._create_channel(channel)

                # Request channel mode from IRCd.
                await self.rawmsg('MODE', channel)
        else:
            # Add user to channel user list.
            for channel in channels:
                if self.in_channel(channel):
                    self.channels[channel]['users'].add(nick)

        for channel in channels:
            await self.on_join(channel, nick)
async def on_raw_join ( self , message ) : nick , metadata = self . _parse_user ( message . source ) self . _sync_user ( nick , metadata ) channels = message . params [ 0 ] . split ( ',' ) if self . is_same_nick ( self . nickname , nick ) : for channel in channels : if not self . in_channel ( channel ) : self . _create_channel ( channel ) await self . rawmsg ( 'MODE' , channel ) else : for channel in channels : if self . in_channel ( channel ) : self . channels [ channel ] [ 'users' ] . add ( nick ) for channel in channels : await self . on_join ( channel , nick )
JOIN command.