Teacher
Discord bot for my Book club
Teacher is a Discord bot and companion website I wrote for a book club my friend started. Teacher bot is capable of responding to several commands to maintain a reading list with ratings and organization by series and author which it will message to a discord channel when prompted. The website provides a more visual interface.
Commands
!add <book> [author] [series]: Adds a new book with optional author and series to the syllabus.
!assign <description> [yyyy-mm-dd]: Assigns a new assignment for the class. The second argument is an optional due date in yyyy-mm-dd format; if omitted or unparseable it defaults to 2 weeks from today (and any unparseable text is appended to the description).
!assignment: Prints the current assignment for the class.
!cmds: Displays available bot commands.
!columns: Lists all column names in the syllabus table.
!complete <identifier>: Marks a book as complete or incomplete by its name or unique ID.
!graveyard [minutes]: Lists all completed books; optionally auto-deletes after specified minutes.
!list_series <series_name>: Lists all books in a specific series, formatted with authors and order.
!remove <identifier>: Removes a book from the syllabus by name or unique ID.
!report_bug <description>: Reports a bug.
!syllabus [minutes]: Lists all books in the syllabus; optionally auto-deletes after specified minutes. Use 0 for infinite time.
!todo [minutes]: Lists all incomplete books; optionally auto-deletes after specified minutes.
!update <identifier> <column> <new_value>: Updates a specific column of a book in the syllabus.
!update_assignment <description>: Updates the description of the most recent assignment.
!url or !web: Prints the current URL for the web application.
Tech Stack:
Python, JavaScript, Bootstrap, Discord API, PostgreSQL, Flask, Jinja2, REST, PyTest, Docker, Cypress, Hosted on google cloud