{"id":45911315,"url":"https://github.com/tjarbo/discord-moodle-bot","last_synced_at":"2026-04-04T09:37:59.315Z","repository":{"id":38250950,"uuid":"261142102","full_name":"tjarbo/discord-moodle-bot","owner":"tjarbo","description":"Get notified about changes on moodle on you favorite platform! ","archived":false,"fork":false,"pushed_at":"2024-11-27T21:09:08.000Z","size":4135,"stargazers_count":28,"open_issues_count":42,"forks_count":3,"subscribers_count":4,"default_branch":"version-2","last_synced_at":"2024-11-27T22:21:07.451Z","etag":null,"topics":["bot","discord","express","moodle","nodejs","vuejs"],"latest_commit_sha":null,"homepage":"https://docs.tjarbo.me/moodle-notification-service/1.0.0/home","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tjarbo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-04T10:20:59.000Z","updated_at":"2024-11-27T21:09:13.000Z","dependencies_parsed_at":"2024-11-27T22:45:43.628Z","dependency_job_id":null,"html_url":"https://github.com/tjarbo/discord-moodle-bot","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tjarbo/discord-moodle-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjarbo%2Fdiscord-moodle-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjarbo%2Fdiscord-moodle-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjarbo%2Fdiscord-moodle-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjarbo%2Fdiscord-moodle-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tjarbo","download_url":"https://codeload.github.com/tjarbo/discord-moodle-bot/tar.gz/refs/heads/version-2","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tjarbo%2Fdiscord-moodle-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31395286,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T09:13:02.600Z","status":"ssl_error","status_checked_at":"2026-04-04T09:13:01.683Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord","express","moodle","nodejs","vuejs"],"created_at":"2026-02-28T07:00:27.279Z","updated_at":"2026-04-04T09:37:59.303Z","avatar_url":"https://github.com/tjarbo.png","language":"TypeScript","funding_links":[],"categories":["bot"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/tjarbo/discord-moodle-bot/version-2/logo.svg\" alt=\"Mailbox Icon by Bootstrap\" width=\"200\"\u003e\n    \u003cbr\u003e\n    \u003ch2\u003eNotification Service\u003c/h2\u003e\n    \u003ch3\u003efor Moodle™\u003c/h3\u003e\n    \u003csmall\u003e⚠️ Branch under active development. Read \u003ca href=\"#hey-\"\u003ehere\u003c/a\u003e\u003c/small\u003e \n    \u003cbr\u003e\n    \u003csmall\u003eBuilt with ❤︎ by\n    \u003ca href=\"https://github.com/tjarbo\"\u003eTjark\u003c/a\u003e,\n    \u003ca href=\"https://github.com/antonplagemann\"\u003eAnton\u003c/a\u003e,\n    \u003ca href=\"https://github.com/p-fruck\"\u003ePhilipp\u003c/a\u003e,\n    \u003ca href=\"https://github.com/NoWo2000\"\u003eNoah\u003c/a\u003e and\n    \u003ca href=\"https://github.com/tjarbo/discord-moodle-bot/graphs/contributors\"\u003econtributors\u003c/a\u003e\n    \u003c/small\u003e\n\u003c/div\u003e\n\n---\n![AGPL-3.0](https://img.shields.io/github/license/tjarbo/discord-moodle-bot)\n![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/tjarbo/fmdb?color=0db7ed)\n![Docker Pulls](https://img.shields.io/docker/pulls/tjarbo/fmdb?color=0db7ed)\n\n### Hey 👋\n\nThe 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: \n\n- Notifications about new files\n- Notifications about new assignments\n- Notifications about assignments due soon\n\nVersion 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](https://docs.tjarbo.me/moodle-notification-service/1.0.0/home). 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. \n\nBut 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](https://docs.tjarbo.me/moodle-notification-service/2.0.0/advanced-guides/what-is-passwordless). But before we can publish a new release, it's time to test, measuring performance and to update [the wiki](https://docs.tjarbo.me/moodle-notification-service/2.0.0/home)\n\nTo 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 🤩!\n\nCheers 🍻!\n\n¹ Currently only Discord is supported, more are coming soon. If we are to slow for you, make a PR 😉\n\n## 🚀 Setup your own bot\n[![Deploy with Docker](https://img.shields.io/badge/deploy%20with-docker-0db7ed)](#)\n[![Deploy to Heroku](https://img.shields.io/badge/deploy%20to-herkou-79589F)](#)\n[![CD - Release](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/cd.release.yml/badge.svg)](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/cd.release.yml)\n[![CD - Main](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/cd.main.yml/badge.svg)](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/cd.main.yml)\n\nTo run your own Service you can choose from various manuals we wrote in our wiki. Click [here](https://docs.tjarbo.me/moodle-notification-service/1.0.0/home) to get started wit version 1.\n\n## ⚒️ Development\n[![CI](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/ci.yml/badge.svg)](https://github.com/tjarbo/discord-moodle-bot/actions/workflows/ci.yml)\n![GitHub last commit](https://img.shields.io/github/last-commit/tjarbo/discord-moodle-bot)\n![GitHub issues](https://img.shields.io/github/issues/tjarbo/discord-moodle-bot)\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites ⚗️\n\u003e We have also setup a `.devcontainer`.  [Learn more](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container)\n\n- Local MongoDB installation on port 27017 (https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)\n- Node with NPM installed (https://nodejs.org/en/download/)\n- Discord Server to test the application\n\n#### Installing modules 📁\n\nRun `npm i` at the root of the repository and `npm run postinstall`\n\n#### Prepare environment 🦕\n\nFollow the steps described in [this wiki artice](https://github.com/tjarbo/discord-moodle-bot/wiki/Setup-your-own-bot): Setup a bot for developing, generate your moodle token and save your `.env` file at `./packages/backend/`.\n\n### Start development 🛫\n\nRun `npm run start` at the root of the directory.\n\nAttention: For coding use get functions first if defined!\nExample: getDiscordChannel() and getRefreshRate() instead of\nconfig constants discordChannel and fetchInterval.\n\n### Links 🔗 (In most cases)\n\n- The frontend can be opened under http://localhost:4040/\n- The backend and especially the api can be reached at http://localhost:4040/api\n- The api documentation can be found at http://localhost:4040/api/docs\n\n## 🦸 Built With MEVN\n\n- [MongoDB](https://www.mongodb.com/) - The database software\n- [Express](https://expressjs.com/) - The web framework used at the backend\n- [Vue.js](https://vuejs.org/) - The web framework used at the frontend\n- [Node.js](https://nodejs.org/en/) - The power of the backend\n\n## 🏆 Contributing\n\nDo 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](CONTRIBUTING.md)!\n\n## ⚖️ License\n\nThis project is licensed under the AGPL-3.0 License - see the [LICENSE.md](LICENSE.md) file for details\n\n---\n\u003cdiv align=\"left\"\u003e\n    Icon by \u003ca href=\"https://github.com/twbs/icons\"\u003eBootstrap\u003c/a\u003e published under \u003ca href=\"https://github.com/twbs/icons/blob/main/LICENSE.md\"\u003eMIT licence\u003c/a\u003e.\n\u003c/div\u003e\n\n\u003cdiv align=\"right\"\u003e\n    \u003ca href=\"https://github.com/tjarbo/tjarbo/blob/main/EASTEREGG.md\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/tjarbo/tjarbo/main/assets/logo.gif\" alt=\"Animated Gif\" height=\"45\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjarbo%2Fdiscord-moodle-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftjarbo%2Fdiscord-moodle-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftjarbo%2Fdiscord-moodle-bot/lists"}