/discord-moodle-bot

Werde über Neuigkeiten deiner Moodle-Platform auf Discord informiert!

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

FMDB

Fancy-Moodle-Discord-Bot

Built with ❤︎ by Tjark, Anton, Philipp, Noah and contributors

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

The FMDB notifies you on a discord server about new activities on the Moodle platform. The current implementation includes:

  • Notification of new or changed files
  • Notification of new assignments
  • Notification of assignments due soon

📮 News from core team!

Hey 👋 Almost a year ago, we made the first commit to this repo 🤯. While back then, the focus was mainly on getting any notification on Discord. Since then we have added many improvements and new features. But over time, our tools have changed as well. That's why we are in the process of becoming more independent from Discord with the upcoming versions, so you can be notified on all your favorite channels ❤️ like Matrix, Slack, MS Teams, etc., even if you do not have a Discord Account!

With the next two (maybe three) versions, we will make fundamental changes, so the code will not be backward compatible. Do not forget to read the changelog if you start an upgrade 🧐. More information here!

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 is not spammed 😉)! And if you like the fmdb, give it a 🌟 - thank you 🤩!

Cheers 🍻!


🚀 Setup your own bot

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

The set-up is a somewhat more complex process. Therefore we have created a separate Wiki article for this purpose. You can find it here.

⚒️ 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


Animated Gif