Skip to content

tjarbo/discord-moodle-bot

Repository files navigation

Mailbox Icon by Bootstrap

Notification Service

for Moodle™

⚠️ Branch under active development. Read here
Built with ❤︎ by Tjark, Anton, Philipp, Noah and contributors

AGPL-3.0 Docker Image Size (latest by date) Docker Pulls

Hey 👋

The Notification Service is a web application, that notifies you about various activities on your Moodle Server. Notifications can be send to all your favorite messaging channels ❤️ like Matrix, Slack, MS Teams, etc.¹. The current implementation includes:

  • Notifications about new files
  • Notifications about new assignments
  • Notifications about assignments due soon

Version 2 of the Notification Service (formerly "Fancy Moodle Discord Bot") is still under active development and testing. If you want to setup our own service, please checkout the main branch and follow the instructions in this wiki. Overall the entire project is still under active development. That means it is very likely that new major versions will break the backwards compatibility. So make sure to read the change log before you start an upgrade.

But what is new in version 2? After a long time we have successfully re-implemented the connector service to make it as easy as possible to add new services like Matrix, MS Teams or Webhooks. Our goal was to remove Discord as a dependency for authentication and instead use the lasted state-of-the-art technologies. Now the Moodle Notification Service uses WebAuthn. But before we can publish a new release, it's time to test, measuring performance and to update the wiki

To stay up to date and get notified as soon as a new release is available, click on watch in the upper right corner, then custom and activate Releases and Discussions ✅ (so that your inbox does not get spammed 😉)! And if you like the Moodle Notification Service, give it a 🌟 - thank you 🤩!

Cheers 🍻!

¹ Currently only Discord is supported, more are coming soon. If we are to slow for you, make a PR 😉

🚀 Setup your own bot

Deploy with Docker Deploy to Heroku CD - Release CD - Main

To run your own Service you can choose from various manuals we wrote in our wiki. Click here to get started wit version 1.

⚒️ Development

CI GitHub last commit GitHub issues

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites ⚗️

We have also setup a .devcontainer. Learn more

Installing modules 📁

Run npm i at the root of the repository and npm run postinstall

Prepare environment 🦕

Follow the steps described in this wiki artice: Setup a bot for developing, generate your moodle token and save your .env file at ./packages/backend/.

Start development 🛫

Run npm run start at the root of the directory.

Attention: For coding use get functions first if defined! Example: getDiscordChannel() and getRefreshRate() instead of config constants discordChannel and fetchInterval.

Links 🔗 (In most cases)

🦸 Built With MEVN

  • MongoDB - The database software
  • Express - The web framework used at the backend
  • Vue.js - The web framework used at the frontend
  • Node.js - The power of the backend

🏆 Contributing

Do you have a great new feature idea or just want to be part of the project ? Awesome! Every contribution is welcome! If you want to find out more about how to contribute to the project, please checkout our CONTRIBUTING.md!

⚖️ License

This project is licensed under the AGPL-3.0 License - see the LICENSE.md file for details


Icon by Bootstrap published under MIT licence.
Animated Gif