Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
264 changes: 137 additions & 127 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,157 +1,167 @@
<p align="center">
<img src="./resources/extras/logo_readme.jpg" alt="TeamUltroid Logo">
<img src="./resources/extras/logo_readme.jpg" alt="TeamUltroid Logo" width="200">
</p>
<h1 align="center">
<b>Ultroid - UserBot</b>
<b>Ultroid - The Next-Gen Telegram UserBot</b>
</h1>

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

[![](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)
----

# Deploy
- [Heroku](#deploy-to-heroku)
- [Okteto](#deploy-to-okteto)
- [Local Machine](#deploy-locally)

# 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)
<p align="center">
<b>A powerful, stable, and pluggable Telegram userbot with Voice & Video Call music features, built on the robust Telethon library.</b>
</p>

<p align="center">
<a href="https://github.com/TeamUltroid/Ultroid/releases/latest"><img src="https://img.shields.io/badge/Ultroid-v0.8-crimson" alt="Version"></a>
<a href="https://github.com/TeamUltroid/Ultroid/stargazers"><img src="https://img.shields.io/github/stars/TeamUltroid/Ultroid?style=flat-square&color=yellow" alt="Stars"></a>
<a href="https://github.com/TeamUltroid/Ultroid/fork"><img src="https://img.shields.io/github/forks/TeamUltroid/Ultroid?style=flat-square&color=orange" alt="Forks"></a>
<a href="https://github.com/TeamUltroid/Ultroid/graphs/contributors"><img src="https://img.shields.io/github/contributors/TeamUltroid/Ultroid?style=flat-square&color=green" alt="Contributors"></a>
<a href="https://www.python.org/"><img src="https://img.shields.io/badge/Python-v3.10.3-blue" alt="Python"></a>
<a href="https://github.com/TeamUltroid/Ultroid/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-AGPL-blue" alt="License"></a>
<a href="https://makeapullrequest.com"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="PRs Welcome"></a>
</p>

---

## 🚀 What is Ultroid?

Ultroid is a feature-rich Telegram userbot that enhances your Telegram experience. With a focus on stability and extensibility, Ultroid offers a wide range of features, from playing music in voice calls to powerful plugins.

---

## Deploy to Heroku
Get the [Necessary Variables](#Necessary-Variables) and then click the button below!
## ✨ Features

- **🎵 Music Bot:** Play your favorite tunes in voice and video calls.
- **🔌 Pluggable:** Extend Ultroid's functionality with a rich ecosystem of plugins.
- **🚀 Fast & Stable:** Built on the asynchronous Telethon library for maximum performance.
- **☁️ Multiple Deployment Options:** Deploy on Heroku, Okteto, or your own machine with ease.
- **🤝 Active Community:** Join our friendly community for support and development discussions.

---

## deployment

You can deploy Ultroid in several ways. Choose the one that suits you best.

### Method 1: Deploy to Heroku

The easiest way to get started. Just click the button below and follow the on-screen instructions.

<summary>Deploy To Heroku</summary>
<p>
<br>
<a href="https://heroku.com/deploy">
<img src="https://www.herokucdn.com/deploy/button.svg" alt="Deploy">
</a>
</p>
## Deploy to Okteto
Get the [Necessary Variables](#Necessary-Variables) and then click the button below!

### Method 2: Deploy to Okteto

Another cloud-based deployment option.

[![Develop on Okteto](https://okteto.com/develop-okteto.svg)](https://cloud.okteto.com/deploy?repository=https://github.com/TeamUltroid/Ultroid)

## Deploy Locally
- [Traditional Method](#local-deploy---traditional-method)
- [Easy Method](#local-deploy---easy-method)
- [Ultroid CLI](#ultroid-cli)

### 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](#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.txt`
`pip(3) install -U -r requirements.txt`
- Generate your `SESSION`:
- For Linux users:
`bash sessiongen`
or
`wget -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`
- Fill your details in a `.env` file, as given in [`.env.sample`](https://github.com/TeamUltroid/Ultroid/blob/main/.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`
### Method 3: Deploy Locally

For more control, you can deploy Ultroid on your own machine.

#### Easy Method (Recommended for Beginners)

- **Linux:**
```bash
wget -O locals.py https://git.io/JY9UM && python3 locals.py
```
- **Windows:**
```powershell
cd desktop ; wget https://git.io/JY9UM -o locals.py ; python locals.py
```
- **Termux:**
```bash
wget -O install-termux https://tiny.ultroid.tech/termux && bash install-termux
```

#### Traditional Method (For Advanced Users)

1. **Clone the repository:**
```bash
git clone https://github.com/TeamUltroid/Ultroid.git
cd Ultroid
```
2. **Create a virtual environment:**
```bash
virtualenv -p /usr/bin/python3 venv
. ./venv/bin/activate
```
3. **Install dependencies:**
```bash
pip install -U -r requirements.txt
```
4. **Get your `SESSION` string:**
- **Linux:** `bash sessiongen`
- **Termux:** `bash sessiongen`
- **Windows:** `python -m pyUltroid.sessiongen`
5. **Configure your bot:**
- Copy `.env.sample` to `.env`.
- Fill in the required variables in the `.env` file.
6. **Run the bot:**
- **Linux/Termux:** `bash startup`
- **Windows:** `python -m pyUltroid`

---

## 📚 Documentation & Tutorials

- **Official Documentation:** [ultroid.tech](http://ultroid.tech/)
- **Full Video Tutorial:** [Watch on YouTube](https://www.youtube.com/watch?v=0wAV7pUzhDQ)
- **Redis Tutorial:** [Read here](./resources/extras/redistut.md)

---
## Necessary Variables
- `SESSION` - SessionString for your accounts login session. Get it from [here](#Session-String)

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 ; python ultroid.py`
* Termux : `wget -O session.py https://git.io/JY9JI && python session.py`
* TelegramBot : [@SessionGeneratorBot](https://t.me/SessionGeneratorBot)

## 🔑 Necessary Variables

To run Ultroid, you'll need the following variables:

- `SESSION`: Your Telegram account's session string. Get it from one of the methods below.

You'll also need one of the following databases:

- **Redis:**
- `REDIS_URI`: Your Redis endpoint URL.
- `REDIS_PASSWORD`: Your Redis password.
- **MongoDB:**
- `MONGO_URI`: Your MongoDB connection string.
- **SQLDB:**
- `DATABASE_URL`: Your SQL database connection string.

---

# Core Contributor Team

<table>
<tr>
<td align="center"><a href="https://github.com/xditya"><img src="https://avatars.githubusercontent.com/xditya" width="75px;" alt=""/><br/><sub><b>@xditya</b></sub></a></td>
<td align="center"><a href="https://github.com/1danish-00"><img src="https://avatars.githubusercontent.com/1danish-00" width="75px;" alt=""/><br/><sub><b>@1danish_00</b></sub></a></td>
<td align="center"><a href="https://github.com/buddhhu"><img src="https://avatars.githubusercontent.com/buddhhu" width="75px;" alt=""/><br/><sub><b>@buddhhu</b></sub></a></td>
<td align="center"><a href="https://github.com/TechiError"><img src="https://avatars.githubusercontent.com/TechiError" width="75px;" alt=""/><br/><sub><b>@TechiError</b></sub></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/New-dev0"><img src="https://avatars.githubusercontent.com/New-dev0" width="75px;" alt=""/><br/><sub><b>@New-dev0</b></sub></a></td>
<td align="center"><a href="https://github.com/ArnabXD"><img src="https://avatars.githubusercontent.com/ArnabXD" width="75px;" alt=""/><br/><sub><b>@Arnab431</b></sub></a></td>
<td align="center"><a href="https://github.com/sppidy"><img src="https://avatars.githubusercontent.com/sppidy" width="75px;" alt=""/><br/><sub><b>@sppidy</b></sub></a></td>
<td align="center"><a href="https://github.com/Atul-Kumar-Jena"><img src="https://avatars.githubusercontent.com/Atul-kumar-Jena" width="75px;" alt=""/><br/><sub><b>@hellboi_atul</b></sub></a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/iAkashPattnaik"><img src="https://avatars.githubusercontent.com/iAkashPattnaik" width="75px;" alt=""/><br/><sub><b>@iAkashPattnaik</b></sub></a></td>
</tr>
</table>

## Contributors
## 🔒 Getting Your Session String

You can get your `SESSION` string in several ways:

- **Repl.it:** [![Run on Repl.it](https://replit.com/badge/github/TeamUltroid/Ultroid)](https://replit.com/@TeamUltroid/UltroidStringSession)
- **Telegram Bot:** [@SessionGeneratorBot](https://t.me/SessionGeneratorBot)
- **Command Line:**
- **Linux:** `wget -O session.py https://git.io/JY9JI && python3 session.py`
- **Windows:** `cd desktop ; wget https://git.io/JY9JI -o ultroid.py ; python ultroid.py`
- **Termux:** `wget -O session.py https://git.io/JY9JI && python session.py`

---

## 💖 Contributors

A huge thanks to our amazing community for all their contributions!

<a href="https://github.com/TeamUltroid/Ultroid/graphs/contributors">
<img src="https://contrib.rocks/image?repo=TeamUltroid/Ultroid" />
</a>

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.
## 📜 License

Ultroid is licensed under the [GNU Affero General Public License v3.0](https://www.gnu.org/licenses/agpl-3.0.en.html).

---
# 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).
## 🙏 Credits

- **TeamUltroid Devs:** For their continuous hard work.
- **Lonami:** For the amazing [Telethon](https://github.com/LonamiWebs/Telethon) library.
- **MarshalX:** For the powerful [PyTgCalls](https://github.com/MarshalX/tgcalls) library.

> Made with 💕 by [@TeamUltroid](https://t.me/TeamUltroid).
Loading