Files
Ultroid-fork/README.md
Wiktor 83dffb6785 Fix: Correct sensitive input reading in setup script and update README
- Modified `ultroid_setup.sh` to correctly read sensitive input like API_HASH when using Docker.
- Integrated key Docker deployment information from `README_DOCKER.md` into the main `README.md` for better visibility.
- Ensured `README.md` still links to `README_DOCKER.md` for comprehensive details.
2025-06-20 14:12:27 +02:00

11 KiB

TeamUltroid Logo

Ultroid - UserBot

A stable pluggable Telegram userbot + Voice & Video Call music bot, based on Telethon.

Stars Forks Size
Python CodeFactor Maintenance Docker Pulls
Open Source Love svg2 Contributors PRs Welcome License
Sparkline

🚀 Getting Started

The easiest way to set up Ultroid is by using our unified setup script.

Run this command in your terminal:

bash <(curl -s https://raw.githubusercontent.com/overspend1/Ultroid-fork/main/ultroid_setup.sh)

Or, clone this repository and run the script:

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

Documentation

Documentation

Tutorial

  • Full Tutorial - Full Tutorial

  • Tutorial to get Redis URL and password - here.


Deploy to Okteto

Get the Necessary Variables and then click the button below!

Develop on Okteto

Manual Docker Setup

If you prefer a manual Docker setup instead of using the ultroid_setup.sh script:

1. Prerequisites:

  • Docker and Docker Compose installed on your system.
  • Telegram API credentials (API_ID and API_HASH) from my.telegram.org/apps.
  • A Telegram SESSION string (see Session String section for generation methods).

2. Clone the Repository:

git clone https://github.com/overspend1/Ultroid-fork.git
cd Ultroid-fork

3. Configure .env File: Copy the sample environment file and fill in your details.

cp .env.sample .env
nano .env # Or use your preferred text editor

Key variables to configure in .env:

# Mandatory
SESSION=your_session_string_here
API_ID=your_api_id
API_HASH=your_api_hash

# Database (choose one, Redis is recommended for Docker)
# Option 1: Redis (Default)
REDIS_URI=redis://redis:6379 # Default for docker-compose setup
REDIS_PASSWORD=ultroid123    # Default for docker-compose setup

# Option 2: MongoDB (Uncomment and configure if using Mongo)
# MONGO_URI=mongodb://ultroid:ultroid123@mongodb:27017/ultroid?authSource=admin

# Option 3: External SQL Database (Uncomment and configure if using external SQL)
# DATABASE_URL=postgresql://user:pass@host:port/db

# Optional, but recommended
BOT_TOKEN=your_assistant_bot_token # Optional, from @BotFather
LOG_CHANNEL=your_log_channel_id    # Numeric ID, e.g., -100xxxxxxxx
OWNER_ID=your_telegram_user_id     # Your numeric Telegram User ID
TZ=Asia/Kolkata                    # Your timezone, e.g., Europe/London

For a complete list of variables and their descriptions, refer to the .env.sample file and the Necessary Variables section.

4. Build and Run with Docker Compose: This is the recommended way to run Ultroid with Docker manually.

docker-compose build
docker-compose up -d

This command will:

  • Build the Docker images for Ultroid and any associated services (like Redis or MongoDB if enabled in docker-compose.yml).
  • Start all services in detached mode (running in the background).

5. Basic Management Commands:

  • View logs: docker-compose logs -f ultroid
  • Stop services: docker-compose down
  • Restart Ultroid service: docker-compose restart ultroid
  • Update (after git pull): docker-compose build && docker-compose up -d

For a comprehensive guide to Docker deployment, including advanced configurations, troubleshooting, Makefile shortcuts, backup/restore, and more, please refer to the detailed 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 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 for methods.

One of the following database:

  • For Redis (tutorial here)
    • REDIS_URI - Redis endpoint URL, from redislabs.
    • REDIS_PASSWORD - Redis endpoint Password, from redislabs.
  • For MONGODB
  • For SQLDB

Session String

Different ways to get your SESSION:

  • Run on Repl.it
  • 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
  • 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
Ultroid is licensed under GNU Affero General Public License v3 or later.


Credits

Made with 💕 by @TeamUltroid.