python ircd using asyncio
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
556 B

  1. import logging
  2. from paircd.client import Client
  3. from paircd.message import Message
  4. from paircd.server import Server
  5. async def handle_nick(server: Server, client: Client, msg: Message) -> None:
  6. nickname = msg.args[0]
  7. if client.nickname:
  8. del server.clients_by_nick[client.nickname]
  9. # TODO: Update all channel references
  10. client.nickname = nickname
  11. server.add_client(client)
  12. if client.username and client.realname:
  13. client.registered = True
  14. logging.info(f"{client.hostname} ({client.id()}) registered")