Skip to content

Myakot/tgQuizBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tgQuizBot

To-Do List

Feature Enhancements

  • 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.

Bug Fixes

  • 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.

Logging and Monitoring

  • 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.

Reminders

  • Add reminder functionality. Decide the timing for reminder - possibly a day or two before the quiz.

Miscellaneous

  • 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.

Questions to Address

  • When will reminders be used?
  • Should admin features be added for manual resets or adjustments?

Done

  • 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

  1. 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.
  2. 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:

  1. Add logging: Implement basic logging using Python's built-in logging module to help with debugging and monitoring the bot.
  2. 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).
  3. 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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages