/Chizuru-MirrorBot

Create Stream Links Of Telegram Files

Primary LanguagePython

Chizuru TG MirrorBot

A Telegram bot to stream files to web.


Original Repository

TG-FileStreamBot

How to make your own

Either you could locally host or deploy on Heroku

Deploy on Heroku

Press the below button to Fast deply to Heroky

Deploy

then goto the variables tab for more info on setting up environmental variables.

Host it on VPS or Locally

git clone https://github.com/Zylern/Chizuru-MirrorBot
cd Chizuru-MirrorBot
virtualenv -p /usr/bin/python3 venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m WebStreamer

and to stop the whole bot, do CTRL+C

Setting up things

If you're on Heroku, just add these in the Environmental Variables or if you're Locally hosting, create a file named .env in the root directory and add all the variables there. An example of .env file:

API_ID=452525
API_HASH=esx576f8738x883f3sfzx83
BOT_TOKEN=55838383:yourtbottokenhere
BIN_CHANNEL=-100
PORT=8080
FQDN=yourserverip
HAS_SSL=False

Mandatory Vars

API_ID : Goto my.telegram.org to obtain this.

API_HASH : Goto my.telegram.org to obtain this.

BOT_TOKEN : Get the bot token from @BotFather

BIN_CHANNEL : Create a new channel (private/public), add @missrose_bot as admin to the channel and type /id. Now copy paste the ID into this field.

Optional Vars

SLEEP_THRESHOLD : Set a sleep threshold for flood wait exceptions happening globally in this telegram bot instance, below which any request that raises a flood wait will be automatically invoked again after sleeping for the required amount of time. Flood wait exceptions requiring higher waiting times will be raised. Defaults to 60 seconds.

WORKERS : Number of maximum concurrent workers for handling incoming updates. Defaults to 3

PORT : The port that you want your webapp to be listened to. Defaults to 8080

WEB_SERVER_BIND_ADDRESS : Your server bind adress. Defauls to 0.0.0.0

NO_PORT : (can be either True or False) If you don't want your port to be displayed. You should point your PORT to 80 (http) or 443 (https) for the links to work. Ignore this if you're on Heroku.

FQDN : A Fully Qualified Domain Name if present. Defaults to WEB_SERVER_BIND_ADDRESS

HAS_SSL : (can be either True or False) If you want the generated links in https format.

How to use the bot

⚠️ Before using the bot, don't forget to add the bot to the BIN_CHANNEL as an admin

/start : To check if the bot is alive or not.

To get an instant stream link, just forward any media to the bot and boom, its fast af.

Credits