geas-bot/TODO.md

82 lines
2.5 KiB
Markdown

# To Do
## Bot Architecture
- [x] Simplify directory tree
- [x] Split event listeners into individual cogs.
- [x] Update with re-organised data and config structure
> - [x] Correct references to data in existing cogs.
- [x] Setup minimally functioning configs of guild on startup
- [x] Synchronise core configuration `/commands` on startup
- [ ] Synchronise secondary `/commands` on complete configuration **(see below)**
## Bot Functionality and Processes
- [ ] 'Delete Commands' Function
- [ ] 'Register Commands' Function
- [x] Infer Permissions from Config
- [x] Dynamic Command Prefixes
- [ ] Infer Games from Server Structure
- [ ] Re-enable logging
- [x] Delete Dev/Test Functions
- [x] Error handlers
- [ ] Debug Features
> - [ ] Command Installer/Uninstaller
- [x] Help Channel Event Listener
> - [x] Add Config key for Help Channel
- [ ] Slash Command Buttons or
- [ ] Reaction listener selectors
- [ ] Member Verification
> - [x] Add Config key membership signup channels
> - [x] Add config keys: Membership Category Roles
> - [ ] Message Receive listener
> - [ ] Message React listener or buttons
- [ ] Membership Restriction
> - [ ] Message Receive Listener
> - [ ] Membership Validation Listener
- [ ] Re-synchronise commands after any relevant config changes **(see above)**
- [x] Flag for checking completeness of configuration for a guild.
> - [x] Function for checking configs for completeness
## Event Listeners
## Review Configs When
- [x] Guild Changing Ownership
- [x] Roles Modified
- [x] Mod Channel Deleted
## Commands
- [x] Configure Bot function and sub commands
> - [x] botrole (role group)
> - [x] committeerole (role group)
> - [x] modchannel (channel group)
> - [x] help channel (channel group)
> - [x] signup channel (channel group)
> - [x] newcomer role (role group)
> - [x] returning player role (role group)
> - [x] student role (role group)
> - [x] help notifications (notification group)
> - [x] signup notifications (notification group)
- [ ] Set up timeslots
- [ ] Delete timeslots
- [ ] Set up command permissions
> - [ ] Slash Commands
>> - [x] Admin Commands
>> - [ ] Game Management Commands
> - [x] Native Bot Commands
- [ ] Migrate existing bot commands
> - [ ] setupgame
> - [x] ~~definebotrole~~ config
> - [ ] deletegame
> - [ ] reset
> - [ ] migrate
> - [ ] kickplayer
> - [ ] addplayer
> - [ ] leavegame
> - [ ] Pitch command and sub-commands
> > - [ ] run
> > - [ ] clear
## Misc
- [ ] Review documentation
> - [ ] Finalise README.md
> - [ ] CHANGELOG.md
> - [ ] COMMANDS.md
> - [ ] resources.md