524a0d2690dad7758c73ca087ef3596aacb0f3a3
- Created Linux-compatible Python test runner (run_tests.py) - Fixed pytest configuration (removed duplicate addopts) - Added comprehensive test suites for core, plugins, database, and updates - Fixed import syntax errors (removed wildcard imports from functions) - Created proper test fixtures and mocking - Added Makefile with test commands - Included GitHub Actions workflow for automated testing - Added test requirements and documentation - All tests now pass with proper mocking and fixtures Test Coverage: - Core functionality tests (imports, decorators, exceptions) - Plugin system tests (loading, command structure) - Database tests (operations, connections) - Update system tests (git operations, validation) - 49 total tests: passing/skipping appropriately based on dependencies
Ultroid - UserBot
A stable pluggable Telegram userbot + Voice & Video Call music bot, based on Telethon.
Deploy
Documentation
Tutorial
-
Tutorial to get Redis URL and password - here.
Deploy to Okteto
Get the Necessary Variables and then click the button below!
Deploy Locally
Local Deploy - Easy Method
- Linux -
wget -O locals.py https://git.io/JY9UM && python3 locals.py - Windows -
cd desktop ; wget https://git.io/JY9UM -o locals.py ; python locals.py - Termux -
wget -O install-termux https://tiny.ultroid.tech/termux && bash install-termux
Local Deploy - Traditional Method
- Get your Necessary Variables
- Clone the repository:
git clone https://github.com/TeamUltroid/Ultroid.git - Go to the cloned folder:
cd Ultroid - Create a virtual env:
virtualenv -p /usr/bin/python3 venv. ./venv/bin/activate - Install the requirements:
pip(3) install -U -r re*/st*/optional-requirements.txtpip(3) install -U -r requirements.txt - Generate your
SESSION:- For Linux users:
bash sessiongenorwget -O session.py https://git.io/JY9JI && python3 session.py - For Termux users:
wget -O session.py https://git.io/JY9JI && python session.py - For Windows Users:
cd desktop ; wget https://git.io/JY9JI -o ultroid.py ; python ultroid.py
- For Linux users:
- Fill your details in a
.envfile, as given in.env.sample. (You can either edit and rename the file or make a new file named.env.) - Run the bot:
- Linux Users:
bash startup - Windows Users:
python(3) -m pyUltroid
- Linux Users:
Necessary Variables
SESSION- SessionString for your accounts login session. Get it from here
One of the following database:
- For Redis (tutorial here)
- For MONGODB
MONGO_URI- Get it from mongodb.
- For SQLDB
DATABASE_URL- Get it from elephantsql.
Session String
Different ways to get your SESSION:
- Linux :
wget -O session.py https://git.io/JY9JI && python3 session.py - PowerShell :
cd desktop ; wget https://git.io/JY9JI ; python ultroid.py - Termux :
wget -O session.py https://git.io/JY9JI && python session.py - TelegramBot : @SessionGeneratorBot
Core Contributor Team
@xditya |
@1danish_00 |
@buddhhu |
@TechiError |
@New-dev0 |
@Arnab431 |
@sppidy |
@hellboi_atul |
@iAkashPattnaik |
Contributors
We are highly grateful for all the contributions made by our amazing community! ❤️
License

Ultroid is licensed under GNU Affero General Public License v3 or later.
Credits
- Lonami for Telethon.
- MarshalX for PyTgCalls.
Made with 💕 by @TeamUltroid.
Languages
Python
94.6%
Shell
4.8%
Makefile
0.3%
Dockerfile
0.2%
