forked from viveksantayana/geas-bot
Vivek Santayana
2f974f9f8f
Needs further testing. Prepare to write member verification and event listeners next.
127 lines
3.4 KiB
Markdown
127 lines
3.4 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 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.`
|
|
- [ ] Re-enable logging
|
|
- [x] Delete Dev/Test Functions
|
|
- [x] Error handlers
|
|
- [x] Debug Features
|
|
|
|
> - [ ] ~~Command Installer/Uninstaller~~
|
|
|
|
- [x] Help Channel Event Listener
|
|
|
|
> - [x] Add Config key for Help Channel
|
|
|
|
- [ ] ~~Slash Command Buttons or~~ `This kind of got subsumed into other features.`
|
|
- [ ] ~~Reaction listener selectors~~ `So did this.`
|
|
- [ ] 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 from above)`
|
|
|
|
> - [ ] Role Delete (member, admin, game)
|
|
> - [ ] Channel delete (notifications, logs, game text channel)
|
|
> - [ ] Category delete (games)
|
|
|
|
- [x] Flag for checking completeness of configuration for a guild.
|
|
|
|
> - [x] Function for checking configs for completeness
|
|
|
|
- [ ] Synchronise game channel on role updates
|
|
|
|
> - [ ] Exception to event listener to prevent circularity `unsure what this means`
|
|
|
|
## 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)
|
|
|
|
- [x] Set up timeslots
|
|
- [x] Delete timeslots
|
|
|
|
> - [x] Base command
|
|
> - [x] ~~Delete all games with the timeslot~~
|
|
Do the opposite: block deleting timeslots with existing games.
|
|
|
|
- [x] List timeslots
|
|
- [x] Set up command permissions
|
|
|
|
> - [x] Slash Commands
|
|
|
|
>> - [x] Admin Commands
|
|
>> - [x] Game Management Commands
|
|
|
|
> - [x] Native Bot Commands
|
|
|
|
- [x] Migrate existing bot commands
|
|
|
|
> - [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
|
|
|
|
> > - [ ] ~~run~~ `Combined both sub-commands into single command and prompt response.`
|
|
> > - [ ] ~~clear~~
|
|
|
|
## Misc
|
|
|
|
- [ ] Review documentation
|
|
|
|
> - [ ] Finalise README.md
|
|
> - [ ] CHANGELOG.md
|
|
> - [ ] COMMANDS.md
|
|
> - [ ] resources.md
|
|
|
|
- [ ] Make sure to document `not using discord_components and staying with discord-py-slash-commands library alone`.
|