https://drive.google.com/file/d/1AN1_ogV7DrMxMMEdWf1HOMlxwH-fbyPm/view?usp=sharing
- Description
- New Features
- Installation and Running
- Testing
- Bot Commands
- Future Scope
- Want to contribute?
- License
Click Below to Watch Our Video!
highlightvideo.V2.comp.mp4
Teacher's Pet is a Discord Bot for class instructors to streamline their Discord servers. Discord is a great tool for communication and its functionalities can be enhanced by bots and integrations.
For 3.0, we created new tools for instructors and students to use to improve course communication. Some of our implemented features were partly suggested by iteration 2 such as regrade requests, project event, and live spam checking. We implemented other features we thought would be helpful such as email interactions, link saving, and data visualization. Our main objective for 3.0 was to add more organizational tools to make a course's discord channel more than just a messenger.
Click here to see the features of iterations I and II.
Instructors (like TAs, and Professors) can quickly make graphcs and charts directly in discord to share with students/users. Instructors can use this feature to share grade distributions, lecture participation/attendance, or other course statistics. All charts are named and stored into a json file when they are created. Students have acess to a command that allows them to view previously presented charts.This feature enables users to configure their email address in the system to receive important notifications, attachments from professors, assignment reminders. Users can also update, view and unconfigure a configured email address through the system.
This feature notifies all students regarding the next assignment deadline which is due for a day through email.
This feature provides a way for students to submit regrade requests and Instructors can collect information of the requests submitted. There are various commands included to add, update, display and remove regrade requests. This usecase was based on regrade request submission for CSE 510 SE FALL21 mid examination.
This feature is helpful to save all the messages which contain important URLs. we have built a user command "!send_links" This command lets users access all messages which contain URLs. The messages Containing URLs are automatically get appended in a file and the file is attached when the "!send_links" command is input.
This feature allows instructors or teaching assistants to create a project event by providing information such as description, link for project submission and deadline. The deadline reminder is taken care of Email Interaction feature.
This feature is used to detect spam in message channels. When a user tries to send too many messages in the channel, it gives a warning. This is useful when multiple users are trying to send mutiple messages. The warning lets the student know that they have sent too many messages.In addition to the packages from requirements.txt which need to be installed, please have the following installed on your machine:
To install and run Teacher's Pet, follow instructions in the Installation and Testing Guide.
To run tests on the Teacher's Pet, follow instructions in the Installation and Testing Guide.
π !display-requests command
π !chart command
π !check_chart command
π !view_email_command
!setInstructor <@member>
Set a server member to be an instructor (Instructor command)
!removeInstructor <@member>
Remove a server member from the instructor role (Instructor command)
!getInstructor
Get the current instructors in the server
!attendance
Find attendance from voice channel (Instructor command)
!ask "<question>"
Ask a question
!answer <question_number> "<answer>"
Answer a question
!poll <command>
Run a poll for students (Instructor command)
!create
Start creating an event (Instructor command)
!oh enter
Enter an office hour queue as an individual student
!oh enter <group_id>
Enter an office hour queue with a group of students
!oh exit
Exit the office hour queue
!oh next
Go to next student in queue as an instructor (Instructor command)
!help
Gets the descriptions for all commands
!help <command>
Describes a command in detail
!ping
Find the latency of network
!stats
Gets the statistics of system and softwares used
This bot has endless possibilities for functionality. Features which we are interested in adding but did not have time for include but are not limited to:
- Custom Events
- Allow events to be edited
- Show error information on discord
- Make Instructor commands private
- Add new roles
- Track participation and user ranking
- Refactor code to use cogs
- Save data charts on DB rather than locally in json
- Store data based on user emote reactions to instructor messages
For a detailed description of each of the above future enhancements listed visit Future Scope.
Check out our CONTRIBUTING.md for instructions on contributing to this repo and helping enhance this Discord Bot, as well as our Code of Conduct guidelines.
The project is licensed under the MIT License.