code: async def _register(self):
          
          if self.registered:
              return
          self._registration_attempts += 1
  
          # Don't throttle during registration, most ircds don't care for flooding during registration,
          # and it might speed it up significantly.
          self.connection.throttle = False
  
          # Password first.
          if self.password:
              await self.rawmsg('PASS', self.password)
  
          # Then nickname...
          await self.set_nickname(self._attempt_nicknames.pop(0))
          # And now for the rest of the user information.
          await self.rawmsg('USER', self.username, '0', '*', self.realname)
docs: Perform IRC connection registration.