# TG-FileStreamBot **Repository Path**: abobot/TG-FileStreamBot ## Basic Information - **Project Name**: TG-FileStreamBot - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-03-24 - **Last Updated**: 2022-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
A Telegram bot to stream files to web
Demo Bot »
Report a Bug
|
Request Feature
This bot will give you stream links for Telegram files without the need of waiting till the download completes
### Original Repository The main working part was taken from [Megatron](https://github.com/eyaadh/megadlbot_oss) and thanks to [eyaadh](https://github.com/eyaadh) for his awesome project. ## [how to use it](https://isedu.top/index.php/archives/31/) ## How to make your own Either you could locally host or deploy on [Heroku](https://heroku.com) ### Deploy on Heroku Press the below button to fast deploy to Heroku - [](https://heroku.com/deploy?template=https%3A%2F%2Fgithub.com%2Fzxlp%2Ftgfs) then goto the variables tab for more info on setting up environmental variables. ### Host it on VPS or Locally ```sh git clone https://github.com/EverythingSuckz/TG-FileStreamBot cd TG-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: ```sh API_ID=452525 API_HASH=esx576f8738x883f3sfzx83 BOT_TOKEN=55838383:yourtbottokenhere MULTI_CLIENT=True MULTI_TOKEN1=55838383:yourfirstmulticlientbottokenhere MULTI_TOKEN2=55838383:yoursecondmulticlientbottokenhere MULTI_TOKEN3=55838383:yourthirdmulticlientbottokenhere BIN_CHANNEL=-100 PORT=8080 FQDN=yourserverip HAS_SSL=False ``` ### Mandatory Vars `API_ID` : Goto [my.telegram.org](https://my.telegram.org) to obtain this. `API_HASH` : Goto [my.telegram.org](https://my.telegram.org) to obtain this. `BOT_TOKEN` : Get the bot token from [@BotFather](https://telegram.dog/BotFather) `BIN_CHANNEL` : Create a new channel (private/public), post something in your channel. Forward that post to [@missrose_bot](https://telegram.dog/MissRose_bot) and **reply** `\id`. Now copy paste the forwarded channel ID in this field. ### For MultiClient `MULTI_TOKEN1`: Add your first bot token here. `MULTI_TOKEN2`: Add your second bot token here. you may also add as many as bots you want. (max limit is not tested yet) `MULTI_TOKEN3`, `MULTI_TOKEN4`, etc. ### 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 address. 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. `PING_INTERVAL` : The time in ms you want the servers to be pinged each time to avoid sleeping (Only for Heroku). Defaults to `1200` or 20 minutes. ## How to use the bot :warning: **Before using the bot, don't forget to add all the bots (multi-client ones too) 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. ## faQ - How long the links will remain valid or is there any expiration time for the links generated by the bot? > The links will will be valid as longs as your bot is alive and you haven't deleted the log channel. ## Contributing Feel free to contribute to this project if you have any further ideas ## Contact me [](https://xn--r1a.click/WhySooSerious) [](https://xn--r1a.click/WhyThisUsername) You can contact either via my [Telegram Group](https://xn--r1a.click/WhyThisUsername) ~~or you can PM me on [@EverythingSuckz](https://xn--r1a.click/EverythingSuckz)~~ ## Credits - Me - [eyaadh](https://github.com/eyaadh) for his awesome [Megatron Bot](https://github.com/eyaadh/megadlbot_oss). - [BlackStone](https://github.com/eyMarv) for adding multi-client support. - [Dan Tès](https://telegram.dog/haskell) for his [Pyrogram Library](https://github.com/pyrogram/pyrogram) - [TheHamkerCat](https://github.com/TheHamkerCat) for helping me with my common doubts. ## Copyright Copyright (C) 2021 [EverythingSuckz](https://github.com/EverythingSuckz) under [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.en.html). TG-FileStreamBot is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the [GNU Affero General Public License](https://www.gnu.org/licenses/agpl-3.0.en.html) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.