Dr.Caduceus ae40ae9af6 Improve: Use download link with share button instead of current window's URL.
Using download link instead of current window's URL make it possible to start playing the current media in external player.
2023-12-01 21:53:08 +05:30
2023-11-05 22:02:58 +05:30
2023-11-05 22:02:58 +05:30
2023-11-07 14:54:09 +05:30
2023-11-13 11:48:21 +05:30
2023-11-05 22:02:58 +05:30

🌐File Stream Bot

An open-source Python Telegram bot to transmit Telegram files over HTTP.

Demo Bot


📑 INDEX

⚙️ Installation

1.Install Python & Git:

For Windows:

winget install Python.Python.3.11
winget install Git.Git

For Linux:

sudo apt-get update && sudo apt-get install -y python3.11 git pip

For macOS:

brew install python@3.11 git

For Termux:

pkg install python -y
pkg install git -y

2.Download repository:

git clone https://github.com/TheCaduceus/FileStreamBot.git

3.Change Directory:

cd FileStreamBot

4.Install requirements:

pip install -r requirements.txt

📝 Variables

The variables provided below should either be completed within the config.py file or configured as environment variables.

  • API_ID|TELEGRAM_API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH|TELEGRAM_API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: ID of your Telegram account, can be obtained by sending /info to @DrFileStreamBot. int
  • ALLOWED_USER_IDS: A list of Telegram account IDs (separated by spaces) that are permitted to use the bot. Leave this field empty to allow anyone to use it. str
  • BOT_USERNAME|TELEGRAM_BOT_USERNAME: Username of your Telegram bot, create one using @BotFather. str
  • BOT_TOKEN|TELEGRAM_BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • CHANNEL_ID|TELEGRAM_CHANNEL_ID: ID of the channel where bot will forward all files received from users, can be obtained by forwarding any message from channel to @ShowJsonBot and then looking from forward_from_chat key. int
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • SECRET_CODE_LENGTH: Number of characters that file code should contain, by default to 12 characters. int
  • BASE_URL: Base URL that bot should use while generating file links, can be FQDN and by default to 127.0.0.1. str
  • BIND_ADDRESS: Bind address for web server, by default to 0.0.0.0 to run on all possible addresses. str
  • PORT: Port for web server to run on, by default to 8080. int

🕹 Deployment

1.Running locally:

python -m bot

2.Using Docker: (Recommended)

  • Build own Docker image:
docker build -t file-stream-bot .
  • Run the Docker container:
docker run -p 8080:8080 file-stream-bot

⛑️ Need help!

  • Ask questions or doubts here.

❤️ Credits & Thanks

Dr.Caduceus: Owner & developer of File Stream Bot.

Description
An open-source Python Telegram bot to transmit Telegram files over HTTP.
Readme 246 KiB
Languages
Python 78.2%
HTML 21.2%
Dockerfile 0.5%