Docs v. 1.0.0



Downloading ClassCord


Currently the bot is not hosted online so you cannot add it to your server from a link. However, you can mak a copy of the bot and add your own token

You can download the code from GitHub and create your own local copy by setting up your own bot.



Setting Up the Bot


To setup your bot, you need to create a Discord account and then head over to the Developer Portal home page and in Application create a New Application.

Fill in the application details and then proceeed to creating your bot. Next, create a bot by selecting Add Bot in the Bot Section. Feel free to add our logo (given in About).

After this, you have to create your own Discord Server in the Discord App. Next, open the Developer Portal again and go to the Bot section. Scroll down to bot permissions and select Administrator, which should give you an integer value of 8. Copy the integer value and go to OAuth2. There, select the scope as Bot. Copy the link given below and replace the permissions=0 with permissions=8 in a text file. Your new link should look like this:

https://discord.com/api/oauth2/authorize?client_id=<Your Client ID>&permissions=8&scope=bot

Open this link and select the server you want to add the bot to and complete the CAPTCHA. In your server, you should receive a notification of your bot having been added to it. Now, we have to set up your bot application with Python. You must have Python installed on your system as well as the discordpy module. You can install it with the following code in your command prompt/terminal:
pip install discord.py

Now we have to edit the python file so that it has your custom OAuth token. First of all, head over to Bot and at the top under Token select Copy, which will copy your token to your clipboard. Open your Python file that contains your code for ClassCord, on GitHub the file name is ClassCord.py.

Locate the word TOKEN in this file and you should see this TOKEN = ""

Click in between the quotes and paste your token from your clipboard. It should look like this:

Python

    
    TOKEN = "<Your Token>"
    

After this is ready, you can run your program and enter discord. Make sure you leave the program running in the background so that it doesn't close.

To test if your bot is online you can check directly on your server or run the !test command by typing it in the chat.

Server Set Up

In this section, we will talk about the different server requirements needed to run the bot.

First of all, you need to create the following channels in your server:

  1. #teachers-lounge: To create assignments, quizzes and schedule meetings
  2. #assignments: To receive assignments from students
  3. #announcements: To send announcements such as scheduled meetings, assignments, deadline reminders.
  4. #quiz: To randomly select a student to answer a question in class.
Other than these, you can create as many channels as you want, but for full functionality, these are required and make sure they are named the way as given above.
You also need to set up a voice channel for meetings and name it whatever you like.



Usage


In this section we will look at the different commands that we can perform with ClassCord. Make sure you use the syntax correctly otherwise the bot will not execute the command. Spaces are necessary and quotes too wherever given.

  1. Classroom Management
    1. Attendance: To check who is present in a meeting at a given time use the following command:

      !attendance <Name of Voice Channel>

      This command is case-sensitive so make sure that you enter the name of the voice channel as is. In our demo, we used General as our voice channel name so the command was !attendance General. The bot will then send the following message:

      Sent on your Direct Messages

      You will get a notification from the bot and you can open the message to see the number of attendees and their names as well as people who are not present.D

    2. Classwork Assignments: To create a classroom assignment, use the following command:

      !cw "<Name of Assignment>" "<HH:MM>"

      This will schedule an assignment for the given time for the same day itself.
    3. Homework Assignments: To create a homework assignment, use the following command:

      !cw "<Name of Assignment>";\ "<DD-MM-YYYY HH";

      This will schedule an assignment for the given date and time.
    4. Schedule Meetings: To schedule a meeting, use the following command:

      !sched

      This will cause the bot to prompt you for a meeting name. Enter the name of your meeting and send in the chat. After this, the bot will ask you for a meeting time. Schedule the meeting in the following format: HH:MMM and it will schedule for the same day.

    5. Quiz: in between class if you want to check whether students are paying attention, you can use the following command to ping a student in the meeting:

      !quiz <Name of Voice Channel>

      This will make the bot select a random person in the meeting and ping them in the #quiz channel.
  2. Student Commands
    1. Submitting Assignments: Students can submit assignments with the following command:

      !submit <name of assignment>

      In case the assignment does not exist, or the student has not met the deadline, an error message will show:

      This assignment either doesn't exist or the deadline has expired. Please contact your teacher for further details.

      If you get such a message you can repeat the command. The bot also keeps track of who has already submitted their work so double submissions cannot occur. Once the deadline is up, you cannot submit and the bot will directly message the teacher with whatever submissions it has received.
    2. Pending Work: Students can see pending classwork and homework assignments with the following command:

      !due cw

      or

      !due hw

      The bot will show the name of the assignments as well as the due dates.


Upcoming Features


ClassCord has a lot of potential in the future. We plan to further improve the features and add a database so that we can have a common bot for multiple servers. We plan to add some more features and then host it full time with a service like heroku. ClassCord definitely can be improved further to make it even easier to use and help teachers around the world by conducting online classes.



Creators of ClassCord


ClassCord was created by Arjun Sodhi, Balpreet Juneja, Sammarth Kumar and Tanmay Garg. ClassCord is licensed under an MIT License and everyone is free to download and modify their own code. We encourage people to try it out and let us know how it benefitted them!