Invite Bot to Server!
[https://canary.discord.com/api/oauth2/authorize?client_id=964571300473495563&permissions=8&scope=bot]
Inspiration
Wanted to create a bot to help motivate students (especially during a global pandemic) and allow them to keep track of their own personal goals, as well as help teachers better plan and organize their classes & assignments. Believed Discord would be a good place for this, since the majority of students already have a Discord account that they actively use and check.
What it does
The bot can provide inspirational quotes for both students and teachers, allow students to add individual weekly goals for themselves, help teachers post assignment information and due dates that students can view, lockdown text channels, automatically create study room sessions (with auto-deletion upon inactivity!), blacklist certain words and phrases (which if said by a student, will be flagged by the bot, deleted, and will have a custom DM sent to the teacher regarding the issue), amongst other commands such as banning & kicking members.
How we built it
Utilized the discord.py library as the main groundwork for creating the bot and its functionality via python code. Also referenced an inspirational quotes API [https://zenquotes.io/?msclkid=c95db6e3be4b11eca57f990d7c6e8f28] to create a command to motivate users. Used sqlite3 to help store & display goals, assignments, and blacklisted phrases in a database.
Challenges we ran into
A big challenge faced early on was that the bot would not respond to the user if their input was across multiple messages. For example, for the assignments add command, the bot was supposed to ask the user for a project name, a description, and a due-date, but it would only listen to the first message the user had sent, and not go any further. Another issue was that the user requested deletion of specific items (such as a set goal of theirs) wouldn't work and would not actually remove that item from the database.
Accomplishments that we're proud of
Proud that the bot was able to be finished on time, with most of the functionality that was originally planned for it. Specifically, the error handling and database implementation of displaying, adding and deleting values is another big accomplishment.
What we learned
Learned about the discord.py library, and about how databases such as sqlite3 works. Also realized just how integral databases are, especially when it comes to storing and displaying info for multiple different users.
What's next for Edu-Bot
Increased functionality such as an attendance feature, as well as a better help interface with better descriptions for what each command does.
Log in or sign up for Devpost to join the conversation.