https://github.com/jbmagination/canvastodiscord
This project takes new announcements from a Canvas LMS course and posts it to a Discord channel of your choice. (WIP)
https://github.com/jbmagination/canvastodiscord
canvas canvas-lms discord instructure typescript
Last synced: 7 months ago
JSON representation
This project takes new announcements from a Canvas LMS course and posts it to a Discord channel of your choice. (WIP)
- Host: GitHub
- URL: https://github.com/jbmagination/canvastodiscord
- Owner: jbmagination
- License: agpl-3.0
- Created: 2022-02-24T13:17:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-04-12T02:37:30.000Z (about 3 years ago)
- Last Synced: 2024-12-27T18:30:22.214Z (over 1 year ago)
- Topics: canvas, canvas-lms, discord, instructure, typescript
- Language: TypeScript
- Homepage:
- Size: 54.7 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Canvas to Discord
## What?
This project takes new announcements from a [Canvas LMS](https://github.com/instructure/canvas-lms) course and posts it to a Discord channel of your choice. I plan to implement more features from Canvas as time goes on.
## Why?
A school club I'm in has an unofficial Discord, and they frequently have to post new Canvas announcements-- which sparked the idea. They thought it'd be helpful, so I made the first proof of concept in an hour, and polished said concept in five hours.
## How?
1. Rename `config.replace.json` to `config.json`
2. Go to your Canvas page of choice
3. Under the "Announcements" tab, open "External Feeds"
4. Copy the link for "RSS Feed"
5. Put the link into `[put-canvas-feed-here]`
6. Go to your Discord channel's settings
7. Under the "Integrations" tab, either...
1. press the "Create Webhook" button
2. choose "View Webhooks", then press the "New Webhook" button
8. Copy the webhook URL
9. Put the URL into `[put-webhook-url-here]`
10. `npm ci`
11. `cd out`
12. `node index`
Please be aware that not everything will work; see `COMPATIBILITY.md` for a rundown.
## Extras?
### Plans
- [ ] Support Canvas API
- [ ] Support multiple Canvas announcement feeds
- [ ] Support Discord bot instead of webhook
- [ ] Support Canvas reply feeds
- [ ] Support discussions
- [ ] Support quizzes
- [ ] Support assignments
- [ ] Support outcomes
- [ ] Support people
- [ ] Support BigBlueButton conferences
### License
Canvas to Discord
Copyright (C) 2022 JBMagination
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .