Skip to content

Elevate your learning experience with the Canvas LMS Discord Bot – Where Education Meets Innovation! πŸš€πŸ“šπŸ€–

License

Notifications You must be signed in to change notification settings

ICEPrey/Canvas-Discord-Bot

Repository files navigation


Logo

Contributors Forks Stargazers Issues MIT License

Canvas Discord Bot

An awesome Canvas Discord bot to assist and connect your Discord server with Canvas! Β· Report Bug Β· Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Canvas Instructions
  4. Contributing
  5. License

About The Canvas Discord Bot

πŸ”” Stay Informed: Receive instant notifications about upcoming assignments, quizzes, and important announcements in your DM's. Never miss a due date again!

(Still Developing) πŸ“… Synchronized Calendars: Sync your Canvas course calendars with your Discord server to effortlessly manage your schedule. The bot ensures that you're always aware of what's ahead.

πŸ“’ Announcement Broadcasting: Professors and instructors can easily broadcast course announcements to your DM's, ensuring effective communication with students.

πŸ“‹ Assignment Details: Quickly access assignment descriptions, without leaving Discord. The bot enhances your efficiency by keeping everything within your reach.

(Still Developing) πŸ“Š Grade Notifications: Receive instant updates when your grades are posted. Celebrate your successes and track your progress without constantly logging into Canvas.

πŸ”’ Security Matters: Your privacy and data security is top priority. The bot operates within authorized channels and follows all relevant security protocols.

(back to top)

Built With

  • supabase
  • bun
  • discordjs
  • typescript

(back to top)

Getting Started

Node.js: Make sure you have Node.js installed on your system. If not, you can download it from the official Node.js website.

Canvas API Credentials:

  • Go to your Canvas LMS account settings
  • Look for the "Approved Integrations" or "API Access Tokens" section
  • Generate a new API token
  • Copy the generated token and paste it into the .env file
  • Keep this token secure as it provides access to your Canvas account

Discord Bot Token:

  • Go to the Discord Developer Portal (discord.com/developers/applications)
  • Create a new application and add a bot to it
  • Find the bot token in the "Bot" section
  • Copy the bot token and paste it into the .env file
  • Invite the bot to your Discord server using the OAuth2 URL generator

Supabase Account:

  • Set up a Supabase account at supabase.com
  • Create a new project (you can use the "Free" tier)
  • Find the project URL and anonymous key in "Settings" > "API"
  • Paste the project URL and anonymous key into the .env file
  • Then navigate to the sql editor in Supabase and copy the setup.sql script into the SQL editor in Supabase to create the database schema

Prerequisites

  • bun
    bun add bun@latest -g

Installation

  1. Clone the repo
    git clone https://github.com/ICEPrey/Canvas-Discord-Bot
  2. Install NPM packages
    bun install

Start the project

  1. Compile the project
    bun run watch
  2. Run the project
    bun run start

    (back to top)

Available Commands

/account (to insert canvas token)
/assigment (to display assignments from canvas)
/missing (to dm you missing assignments)

Canvas Instructions

Step 1

canvas1

(back to top)

Step 2

canvas2

(back to top)

Step 3

canvas3

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See license for more information.

(back to top)


About

Elevate your learning experience with the Canvas LMS Discord Bot – Where Education Meets Innovation! πŸš€πŸ“šπŸ€–

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks