code: async 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)
              await super().on_raw_join(fakemsg)
  
              if account == NO_ACCOUNT:
                  account = None
              self.users[nick]['account'] = account
              self.users[nick]['realname'] = realname
          else:
              await super().on_raw_join(message)
docs: Process extended JOIN messages.