def on_raw_join(self, message):
        if 'extended-join' in self._capabilities and self._capabilities['extended-join']:
            nick, metadata = self._parse_user(message.source)
            channels, account, realname = message.params

            self._sync_user(nick, metadata)

            # Emit a fake join message.
            fakemsg = self._create_message('JOIN', channels, source=message.source)
            super().on_raw_join(fakemsg)

            if account == NO_ACCOUNT:
                account = None
            self.users[nick]['account'] = account
            self.users[nick]['realname'] = realname
        else:
            super().on_raw_join(message)
Process extended JOIN messages.
dataset/ETHPy150Open Shizmob/pydle/pydle/features/ircv3/ircv3_1.py/IRCv3_1Support.on_raw_join