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.

17 lines
646 B

  1. from paircd.client import Client
  2. from paircd.command_handler import CommandHandler
  3. from paircd.message import Message
  4. from paircd.reply import RPL_NOWAWAY, RPL_UNAWAY
  5. from paircd.server import Server
  6. class AwayHandler(CommandHandler):
  7. def __init__(self) -> None:
  8. super().__init__("AWAY")
  9. async def handle(self, server: Server, client: Client, msg: Message) -> None:
  10. if len(msg.args) == 0 or len(msg.args[0]) == 0:
  11. client.away = ""
  12. client.write_message(RPL_UNAWAY(client.nickname))
  13. else:
  14. client.away = msg.args[0]
  15. client.write_message(RPL_NOWAWAY(client.nickname))