geas-bot/TODO.md

127 lines
3.4 KiB
Markdown
Raw Normal View History

# To Do
## Bot Architecture
2021-07-21 23:05:13 +01:00
2021-07-15 23:23:48 +01:00
- [x] Simplify directory tree
2021-07-15 23:26:53 +01:00
- [x] Split event listeners into individual cogs.
- [x] Update with re-organised data and config structure
2021-07-21 23:05:13 +01:00
> - [x] Correct references to data in existing cogs.
2021-07-21 23:05:13 +01:00
- [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
2021-07-21 23:05:13 +01:00
2021-07-18 23:16:58 +01:00
- [ ] ~~'Delete Commands' Function~~
- [ ] ~~'Register Commands' Function~~
- [x] Infer Permissions from Config
- [x] Dynamic Command Prefixes
- [ ] Infer current games from Server Structure
`Create a separate cog to do this instead of having a migrate command, install the cog temporarily and remove the cog once migration is done.`
2021-07-15 23:26:53 +01:00
- [ ] Re-enable logging
- [x] Delete Dev/Test Functions
- [x] Error handlers
- [x] Debug Features
2021-07-21 23:05:13 +01:00
2021-07-18 23:16:58 +01:00
> - [ ] ~~Command Installer/Uninstaller~~
2021-07-21 23:05:13 +01:00
- [x] Help Channel Event Listener
2021-07-21 23:05:13 +01:00
> - [x] Add Config key for Help Channel
2021-07-21 23:05:13 +01:00
- [ ] ~~Slash Command Buttons or~~ `This kind of got subsumed into other features.`
- [ ] ~~Reaction listener selectors~~ `So did this.`
2021-07-15 23:53:37 +01:00
- [ ] Member Verification
2021-07-21 23:05:13 +01:00
> - [x] Add Config key membership signup channels
> - [x] Add config keys: Membership Category Roles
2021-07-15 23:53:37 +01:00
> - [ ] Message Receive listener
> - [ ] Message React listener or buttons
2021-07-21 23:05:13 +01:00
2021-07-15 23:53:37 +01:00
- [ ] Membership Restriction
2021-07-21 23:05:13 +01:00
2021-07-15 23:53:37 +01:00
> - [ ] Message Receive Listener
> - [ ] Membership Validation Listener
2021-07-21 23:05:13 +01:00
- [ ] Re-synchronise commands after any relevant config changes `(See from above)`
2021-07-21 23:05:13 +01:00
> - [ ] Role Delete (member, admin, game)
> - [ ] Channel delete (notifications, logs, game text channel)
> - [ ] Category delete (games)
2021-07-21 23:05:13 +01:00
- [x] Flag for checking completeness of configuration for a guild.
2021-07-21 23:05:13 +01:00
> - [x] Function for checking configs for completeness
2021-07-21 23:05:13 +01:00
- [ ] Synchronise game channel on role updates
2021-07-21 23:05:13 +01:00
> - [ ] Exception to event listener to prevent circularity `unsure what this means`
## Event Listeners
## Review Configs When
2021-07-21 23:05:13 +01:00
- [x] Guild Changing Ownership
- [x] Roles Modified
- [x] Mod Channel Deleted
## Commands
2021-07-21 23:05:13 +01:00
- [x] Configure Bot function and sub commands
2021-07-21 23:05:13 +01:00
> - [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)
2021-07-21 23:05:13 +01:00
2021-07-18 23:16:58 +01:00
- [x] Set up timeslots
- [x] Delete timeslots
2021-07-21 23:05:13 +01:00
> - [x] Base command
> - [x] ~~Delete all games with the timeslot~~
2021-07-20 21:43:22 +01:00
Do the opposite: block deleting timeslots with existing games.
2021-07-21 23:05:13 +01:00
2021-07-18 23:16:58 +01:00
- [x] List timeslots
- [x] Set up command permissions
2021-07-21 23:05:13 +01:00
> - [x] Slash Commands
>> - [x] Admin Commands
>> - [x] Game Management Commands
2021-07-21 23:05:13 +01:00
> - [x] Native Bot Commands
2021-07-21 23:05:13 +01:00
- [x] Migrate existing bot commands
2021-07-21 23:05:13 +01:00
> - [x] setupgame
> - [x] ~~definebotrole~~ config
> - [x] deletegame
> - [x] ~~reset~~ purge
> - [ ] ~~migrate~~ `See above`
> - [x] ~~kickplayer~~ `/player remove`
> - [x] ~~addplayer~~ `/player add`
> - [x] ~~leavegame~~ `/player leave`
> - [x] Pitch command and sub-commands
2021-07-21 23:05:13 +01:00
> > - [ ] ~~run~~ `Combined both sub-commands into single command and prompt response.`
> > - [ ] ~~clear~~
## Misc
2021-07-21 23:05:13 +01:00
- [ ] Review documentation
2021-07-21 23:05:13 +01:00
> - [ ] Finalise README.md
> - [ ] CHANGELOG.md
> - [ ] COMMANDS.md
2021-07-20 21:43:22 +01:00
> - [ ] resources.md
2021-07-21 23:05:13 +01:00
- [ ] Make sure to document `not using discord_components and staying with discord-py-slash-commands library alone`.