forked from viveksantayana/geas-bot
3.3 KiB
3.3 KiB
To Do
Bot Architecture
- Simplify directory tree
- Split event listeners into individual cogs.
- Update with re-organised data and config structure
- Correct references to data in existing cogs.
- Setup minimally functioning configs of guild on startup
- Synchronise core configuration
/commands
on startup Synchronise secondary/commands
on complete configuration (see below)
Bot Functionality and Processes
'Delete Commands' Function'Register Commands' Function- Infer Permissions from Config
- 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
- Delete Dev/Test Functions
- Error handlers
- Debug Features
Command Installer/Uninstaller
- Help Channel Event Listener
- Add Config key for Help Channel
- Slash Command Buttons or
- Reaction listener selectors
- Member Verification
- Add Config key membership signup channels
- 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)
- Role Delete (member, admin, game)
- Channel delete (notifications, logs, game text channel)
- Category delete (games)
- Flag for checking completeness of configuration for a guild.
- 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
- Guild Changing Ownership
- Roles Modified
- Mod Channel Deleted
Commands
- Configure Bot function and sub commands
- botrole (role group)
- committeerole (role group)
- modchannel (channel group)
- help channel (channel group)
- signup channel (channel group)
- newcomer role (role group)
- returning player role (role group)
- student role (role group)
- help notifications (notification group)
- signup notifications (notification group)
- Set up timeslots
- Delete timeslots
- Base command
Delete all games with the timeslotDo the opposite: block deleting timeslots with existing games.
- List timeslots
- Set up command permissions
- Slash Commands
- Admin Commands
- Game Management Commands
- Native Bot Commands
- Migrate existing bot commands
- setupgame
definebotroleconfig- deletegame
resetpurgemigrateSee abovekickplayer/player remove
addplayer/player add
leavegame/player leave
- Pitch command and sub-commands
- run
- 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.