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:
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 😉
To run your own Service you can choose from various manuals we wrote in our wiki. Click here to get started wit version 1.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
We have also setup a
.devcontainer
. Learn more
Run npm i
at the root of the repository and npm run postinstall
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/
.
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.
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!
This project is licensed under the AGPL-3.0 License - see the LICENSE.md file for details