IRCat/todo.md
2025-04-03 16:39:48 -07:00

2.6 KiB

To-Do list

  • Implement the base of an IRCd, using Libera.Chat and RFC1459 as a reference
    • Add the (full) connection process (0.0.4)
    • Add join/part, and it's requirements (WHO, etc) (0.0.1)
    • Implement proper PRIVMSG (0.0.1)
    • Broadcast QUIT (0.0.1)
    • DNS lookup (0.0.1)
    • WallOps
    • Channel invite system
    • Wildcard logic (for +b and +q)
    • Send PING and wait for PONG (0.0.1)
    • Reply PONG if received PING (0.0.1)
    • Change of nicknames (0.0.1)
    • Away (0.0.1)
    • Multi-server support
    • LIST (0.0.5)
    • TOPIC (0.0.7)
  • Database support
  • User Flags
    • i (invisible)
    • o (IRCOP) (0.0.7)
    • w (gets wallops)
  • Channel Flags
    • o <user> (CHANOP) (0.0.7)
    • v <user> (voice)
    • m (moderated, only let voice or op talk)
    • s (don't show in LIST)
    • i (invite-only)
    • t (topic lock)
    • n (no outside msgs, people have to join first)
    • l <num> (user limit)
    • b <usermask> (ban a user)
    • k <key> (password lock)
    • EXTRAS q <usermask> (Quiet)
  • Destructive features for CHANOPS
    • KICK
    • MODE <channel>
  • Destructive features for IRCOPS
    • KILL <user> <comment>
    • MODE <external user>
    • RESTART (0.07)
  • Extra commands
    • NAMES (0.0.1)
    • WHOIS (0.0.1)
    • WHOWAS
  • Implement services.
    • Nickserv (0.0.7)
    • ChanServ
    • CatServ (Outside of PawServ) (0.0.4)
    • Link PRIVMSG *serv to *serv (0.0.4)
  • Extra (not planned) features
    • ident support (0.0.5)
  • Authentication
    • Store credentials in an SQLite3 file. database engine (0.0.1)
    • Map NickServ IDENTIFY (0.0.7)
    • Map PASS (0.0.7)
  • SSL/TLS
  • Add IRCv3 features.
    • List capabilities (CAP LS 302) (0.0.1)
    • away-notify
    • tls (STARTTLS)
    • sasl
    • server-time (0.0.7)
    • account-notify
    • account-tag (0.0.7)
    • Will research later. I am going to fully read RFC 1459 soon and add each part to the TODO.