TeamUltroid Logo

Ultroid - UserBot

A stable pluggable Telegram userbot + Voice & Video Call music bot, based on Telethon. [![](https://img.shields.io/badge/Ultroid-v0.8-crimson)](#) [![Stars](https://img.shields.io/github/stars/TeamUltroid/Ultroid?style=flat-square&color=yellow)](https://github.com/TeamUltroid/Ultroid/stargazers) [![Forks](https://img.shields.io/github/forks/TeamUltroid/Ultroid?style=flat-square&color=orange)](https://github.com/TeamUltroid/Ultroid/fork) [![Size](https://img.shields.io/github/repo-size/TeamUltroid/Ultroid?style=flat-square&color=green)](https://github.com/TeamUltroid/Ultroid/) [![Python](https://img.shields.io/badge/Python-v3.10.3-blue)](https://www.python.org/) [![CodeFactor](https://www.codefactor.io/repository/github/teamultroid/ultroid/badge/main)](https://www.codefactor.io/repository/github/teamultroid/ultroid/overview/main) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/TeamUltroid/Ultroid/graphs/commit-activity) [![Docker Pulls](https://img.shields.io/docker/pulls/theteamultroid/ultroid?style=flat-square)](https://img.shields.io/docker/pulls/theteamultroid/ultroid?style=flat-square) [![Open Source Love svg2](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/TeamUltroid/Ultroid) [![Contributors](https://img.shields.io/github/contributors/TeamUltroid/Ultroid?style=flat-square&color=green)](https://github.com/TeamUltroid/Ultroid/graphs/contributors) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com) [![License](https://img.shields.io/badge/License-AGPL-blue)](https://github.com/TeamUltroid/Ultroid/blob/main/LICENSE) [![Sparkline](https://stars.medv.io/Teamultroid/Ultroid.svg)](https://stars.medv.io/TeamUltroid/Ultroid) ---- # 🚀 Getting Started The easiest way to set up Ultroid is by using our unified setup script. **Run this command in your terminal:** ```bash bash <(curl -s https://raw.githubusercontent.com/overspend1/Ultroid-fork/main/ultroid_setup.sh) ``` Or, clone this repository and run the script: ```bash git clone https://github.com/overspend1/Ultroid-fork.git cd Ultroid-fork bash ultroid_setup.sh ``` This script will guide you through choosing either a Docker-based or a local Python installation for this fork and help configure the necessary variables. For more detailed deployment options, including manual Docker setup, see below. # Deployment Options - **Automated Setup (Recommended)**: Use the `ultroid_setup.sh` script as described above. - **Docker (Manual)**: For a manual Docker setup, see the [Manual Docker Setup](#manual-docker-setup) section below or the comprehensive [README_DOCKER.md](./README_DOCKER.md) for advanced details. - **Local Python (Manual)**: See [Manual Local Python Setup](#manual-local-python-setup). - **Okteto**: See [Deploy to Okteto](#deploy-to-okteto). # Documentation [![Documentation](https://img.shields.io/badge/Documentation-Ultroid-blue)](http://ultroid.tech/) # Tutorial - Full Tutorial - [![Full Tutorial](https://img.shields.io/badge/Watch%20Now-blue)](https://www.youtube.com/watch?v=0wAV7pUzhDQ) - Tutorial to get Redis URL and password - [here.](./resources/extras/redistut.md) --- ## Deploy to Okteto Get the [Necessary Variables](#Necessary-Variables) and then click the button below! [![Develop on Okteto](https://okteto.com/develop-okteto.svg)](https://cloud.okteto.com/deploy?repository=https://github.com/TeamUltroid/Ultroid) ## Manual Docker Setup If you prefer a manual Docker setup: 1. **Clone the repository**: ```bash git clone https://github.com/overspend1/Ultroid-fork.git cd Ultroid-fork ``` 2. **Configure `.env` file**: Copy the sample and fill in your details (API_ID, API_HASH, SESSION, etc.). ```bash cp .env.sample .env nano .env ``` Refer to the [Necessary Variables](#Necessary-Variables) section and [README_DOCKER.md](./README_DOCKER.md#️-configuration) for details on all variables. 3. **Build and Run with Docker Compose**: ```bash docker-compose build docker-compose up -d ``` This will build the Docker images and start the Ultroid bot and any configured database services (like Redis) in detached mode. For more advanced Docker configurations, troubleshooting, and management commands (like using the `Makefile`), please refer to the detailed **[README_DOCKER.md](./README_DOCKER.md)**. ## Manual Local Python Setup The `ultroid_setup.sh` script automates these steps, but if you prefer manual local Python setup: 1. Clone this repository: `git clone https://github.com/overspend1/Ultroid-fork.git && cd Ultroid-fork` 2. Create a Python virtual environment: `python3 -m venv .venv` 3. Activate it: `source .venv/bin/activate` (for Linux/macOS) or `.\.venv\Scripts\activate` (for Windows) 4. Install dependencies: `pip install -r requirements.txt` 5. Configure your variables in a `.env` file (see [Necessary Variables](#Necessary-Variables) below). 6. Run the bot: `python3 -m pyUltroid` --- ## Important: Necessary Variables Whether using the setup script or a manual method, you will need the following: - **`SESSION`**: Your Telegram user account session string. The setup script and other utilities can help you generate this. See [Session String](#Session-String) for methods. One of the following database: - For **Redis** (tutorial [here](./resources/extras/redistut.md)) - `REDIS_URI` - Redis endpoint URL, from [redislabs](http://redislabs.com/). - `REDIS_PASSWORD` - Redis endpoint Password, from [redislabs](http://redislabs.com/). - For **MONGODB** - `MONGO_URI` - Get it from [mongodb](https://mongodb.com/atlas). - For **SQLDB** - `DATABASE_URL`- Get it from [elephantsql](https://elephantsql.com). ## Session String Different ways to get your `SESSION`: * [![Run on Repl.it](https://replit.com/badge/github/TeamUltroid/Ultroid)](https://replit.com/@TeamUltroid/UltroidStringSession) * Linux : `wget -O session.py https://git.io/JY9JI && python3 session.py` * PowerShell : `cd desktop ; wget https://git.io/JY9JI -OutFile session.py ; python session.py` * Termux : `wget -O session.py https://git.io/JY9JI && python session.py` * Telegram Bot : [@SessionGeneratorBot](https://t.me/SessionGeneratorBot) * **Using `ultroid_setup.sh`**: The setup script will guide you through session generation if needed. * **Using `generate-session.sh`**: This script in the repository provides various methods: `bash generate-session.sh` --- # 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 [![License](https://www.gnu.org/graphics/agplv3-155x51.png)](LICENSE) Ultroid is licensed under [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.en.html) v3 or later. --- # Credits * [![TeamUltroid-Devs](https://img.shields.io/static/v1?label=Teamultroid&message=devs&color=critical)](https://t.me/UltroidDevs) * [Lonami](https://github.com/LonamiWebs/) for [Telethon.](https://github.com/LonamiWebs/Telethon) * [MarshalX](https://github.com/MarshalX) for [PyTgCalls.](https://github.com/MarshalX/tgcalls) > Made with 💕 by [@TeamUltroid](https://t.me/TeamUltroid).