A Telegram bot to all media and documents files to web link .
Report a Bug
|
Request Feature
This bot will give you stream links for Telegram files without the need of waiting till the download completes
Either you could locally host or deploy on Heroku
Deploy on Heroku :
- Fork This Repo
- Click on Deploy Easily
Press the below button to Fast deploy on Heroku
then goto the variables tab for more info on setting up environmental variables.
Host it on VPS Locally :
git clone https://github.com/Rico-Henry/NewFileStreamBot
cd FileStreamBot
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=12345
API_HASH=esx576f8738x883f3sfzx83
BOT_TOKEN=55838383:yourtbottokenhere
BIN_CHANNEL=-100
PORT=8080
FQDN=your_server_ip
OWNER_ID=your_user_id
DATABASE_URL=mongodb_uri
Vars and Details :
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.
OWNER_ID
: Your Telegram User ID
DATABASE_URL
: MongoDB URI for saving User IDs when they first Start the Bot. We will use that for Broadcasting to them. I will try to add more features related with Database. If you need help to get the URI you can ask in Me Telegram.
Option Vars
UPDATES_CHANNEL
: Put a Public Channel Username, so every user have to Join that channel to use the bot. Must add bot to channel as Admin to work properly.
BANNED_CHANNELS
: Put IDs of Banned Channels where bot will not work. You can add multiple IDs & separate with Space.
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
: 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
How to Use :
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.
Bot also Supported with Channels. Just add bot Channel as Admin. If any new file comes in Channel it will edit it with Get Download Link Button.