📚 Telegram Bot for Moodle Integration
A versatile and powerful Telegram bot designed to interact with Moodle, enabling seamless communication, notifications, and course management directly through Telegram.
🚀 Project Overview
This Telegram bot integrates with the Moodle platform, allowing users to interact with their Moodle accounts through Telegram. It supports actions such as logging in, retrieving course information, and sending messages to Moodle users.
💡 Features
💬 Message Communication: Send and receive messages between users and the bot.
🔑 Login Management: Authenticate users with their Moodle credentials.
📚 Course Information: Retrieve and view courses directly within Telegram.
📝 User Management: Add new users, store them, and manage user statuses.
🔧 Installation
Follow the steps below to set up the Telegram bot for your Moodle integration:
1. Clone the Repository
2. Install Dependencies
Make sure you have Python 3.7+ installed. You can install the required dependencies using pip:
3. Set Up Your Bot Token
Create a file called bot_token.py and insert your bot token like this:
Remember to add bot_token.py to your .gitignore to keep your token secure.
4. Run the Bot
Run the bot with the following command:
⚡ Usage
Once the bot is running, interact with it through the Telegram app by searching for the bot or using the provided link. Here are some of the available commands:
start:
Welcome message and login instructions./login:
Log in with your Moodle credentials./getchat:
Retrieve your Moodle messages./sendmessage:
Send a message to a specific user in Moodle./unreadmessages:
Check for unread messages./livechat:
Access live chat with the bot.
🛠️ Requirements
Python 3.7+
requests library
beautifulsoup4 for parsing HTML
Install the required Python libraries with:
📎 To-Do / Future Improvements
Modularization of commands
Web Admin Panel (Flask)
Deploy on Docker and rewrite file paths
👥 Contributing
We welcome contributions to this project! Here are some ways you can help:
Fork the repository and make your changes.
Submit a pull request with a clear description of your changes.
Report bugs or suggest features by opening an issue.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👨💻 About the Author
These applications were created for educational and demonstration purposes only.
I welcome your feedback, contributions, or collaboration ideas!