IRCat/todo.md
swee d59de1983e
All checks were successful
/ check (push) Successful in 17s
Update todo.md
2025-01-27 18:42:20 -08:00

2.3 KiB

To-Do list

  • Implement the base of an IRCd, using Libera.Chat and RFC1459 as a reference
    • Add the (full) connection process
    • Add join/part, and it's requirements (WHO, etc)
    • Implement proper PRIVMSG
    • Broadcast QUIT
    • DNS lookup
    • Identity management
    • WallOps
    • Channel invite system
    • Wildcard logic (for +b and +q)
    • Send PING and wait for PONG
    • Reply PONG if received PING
    • Change of nicknames
    • Away
    • Multi-server support
    • LIST
    • TOPIC
  • Database support
  • User Flags
    • i (invisible)
    • o (IRCOP)
    • w (gets wallops)
  • Channel Flags
    • o <user> (CHANOP)
    • 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
  • Extra commands
    • NAMES
    • WHOIS
    • WHOWAS
  • Implement services.
    • Nickserv
    • ChanServ
    • CatServ (Outside of PawServ)
    • Link PRIVMSG *serv to *serv
  • Extra (not planned) features
    • ident support
  • Authentication
    • Store credentials in an SQLite3 file.
    • Map NickServ IDENTIFY
    • Map PASS
  • SSL/TLS
  • Add IRCv3 features.
    • List capabilities (CAP LS 302)
    • away-notify
    • tls (STARTTLS)
    • sasl
    • Will research later. I am going to fully read RFC 1459 soon and add each part to the TODO.