Skip to content

Latest commit

 

History

History
85 lines (81 loc) · 2.6 KB

TODO.md

File metadata and controls

85 lines (81 loc) · 2.6 KB

A (semi incomplete) list of things currently implemented/unimplemented. will definitely be adding additions.

General:

  • Server Operators
  • Server Bans
  • Server Kicks
  • TLS
  • Ping everyone after a certain amount of time and kick those that haven't responded by the next ping
  • Scan and delete/warn inactive channels
  • Save current server details (channels, banlists, etc)
  • Load server details previously saved on server restart
  • Setup.py
  • Logging
  • MOTD
  • Server Title
  • Server Welcome
  • Server Description
  • Configuration file
  • ISUPPORT
  • CAP
  • CTCPs
  • Server OP alerts
  • Server monitoring console/command for ops
  • ^On that note, have a module, irc_console, with neat formatting things for printing to the console.
  • NickServ/CrowBot (maybe)
  • Store things in a database and not a text file...
  • Set modes on user when they connect. Get the modes to use from the config file.

Channels:

  • Owners
  • Expiration
  • Operators
  • Change/Set/Lookup Modes
  • Invites
  • Deletion (Deletion works by expiration - still need to let owners delete their own channel)
  • Anti-Spam (to be a mode)
  • Topics
  • Bans
  • Kicks
  • Mutes
  • Hash Owner + Oper passwords instead of using plaintext
  • NOOPERHOST
  • Sub-Channels (might be a dumb idea)
  • Change Channel Name Command for owners
  • Co-Owners

Users:

  • Join channels
  • Change nicknames
  • Random Nick Generation after 3 failed nick change attempts during initial connection
  • Message Channels + Users
  • Nickname Registering
  • Max registered nicks
  • Change/Set/Lookup Modes
  • Leave/Disconnect
  • Leave/Disconnect Messages
  • WHO
  • WHOIS
  • WHOWAS
  • MaxUsernameLength
  • MaxNicknameLength
  • MaxClients
  • If user is a server operator, add a * next to their nick in WHOIS/WHO
  • If a user is a channel operator, add an @ next to their nick in WHOIS/WHO

Commands (Unimplemented/implemented custom commands + their usage in commands.MD)

  • Unknown Command error
  • Minimum parameter enforcement
  • Rate limits
  • ACTION
  • NOTICE
  • Do all the unimplemented commands in commands.MD

MODES

User Modes:

  • 'o' - server operator
  • 'D' - disable private messages
  • 'i' - hide from who and names + online time in whois + what channels user is in
  • 'z' - connected via tls
  • 'W' - see when someone does a WHOIS on you
  • 'R' - using a registered nick

Channel Modes:

  • 'S' - slow flood
  • 'I' - invite only
  • 'P' - passworded More to be decided...