- Implement commands:
upcoming
,-rsvp-
,leaderboard
,reminders
. - Add functionality to change quiz time/date/location/etc if plans have changed.
- When deleting a quiz it's much easier to use buttons instead of writing text.
- Fix pagination - the first time it shows, it shows all quizzes until a button is pressed.
- Check if deletion by theme is foolproof, what happens if Themes are the same, should probably add a step to select from UID.
- Check if deleting a quiz also deletes all rsvps to it.
- Add CLI loggers for user ids that do commands in the group chat, save as a log file somewhere.
- Add a log file for bot messages, errors, commands, reminders.
- Add reminder functionality. Decide the timing for reminder - possibly a day or two before the quiz.
- Decide where to deploy, Heroku?
- Replace global variables in command_handlers.py with a better solution.
- command_handlers.py is too overloaded with functions. Split those up into separate files.
- Docstring everything near the very end.
- When will reminders be used?
- Should admin features be added for manual resets or adjustments?
- Add a way to add a quiz, besides just inputting seven details in a row.
- Change data field 'link' to 'quiz price'
- Initially, display only the quiz name. Clicking on a name button should show the rest of the info in a message.
- RSVP connections to a quiz must be shown whenever the quiz info is called.
- Add a check to a specified group chat, so that the bot would ONLY work in that group (tie to
config.py
). - ic| f'User {user_id} rsvp to quiz {quiz_id} successful': 'User 526312291 rsvp to quiz None successful'] Shouldn't be able to rsvp to non-existent quizzes
- Integrate with your quiz logic: Modify your
quiz
module to store the quiz date and time in the database, and then use this information to trigger the scheduled ping. - Adjustable time: To make the ping time adjustable, you could add a
new configuration parameter (e.g.,
PING_TIME_BEFORE_QUIZ
) that can be set using environment variables or a config file.
Some potential improvements I'd suggest:
- Add logging: Implement basic logging using Python's built-in
logging
module to help with debugging and monitoring the bot. - Error handling for database operations: Consider adding try-except blocks around your database queries to handle any errors that might occur (e.g., connection timeouts, data inconsistencies).
- Improve code readability: You have some long lines of code in certain modules; consider breaking them up into smaller functions or reorganizing the code for better readability.