Jnanesh124 / streemx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🌐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/EL-Coders/filestreambot

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

SQL Database Setup

# Install postgresql:
sudo apt-get update && sudo apt-get install postgresql

# Change to the postgres user:
sudo su - postgres

# Create a new database user (change YOUR_USER appropriately):
createuser -P -s -e YOUR_USER
# This will be followed by you needing to input your password.

# create a new database table:
createdb -O YOUR_USER YOUR_DB_NAME
#Change YOUR_USER and YOUR_DB_NAME appropriately.

# finally:
psql -h YOUR_HOST -p YOUR_PORT -d YOUR_DB_NAME -U YOUR_USER

#This will allow you to connect to your database via your terminal.
By default, YOUR_HOST should be `localhost` & YOUR_PORT should be `5432`.

You should now be able to build your database URI. This will be:
sqldbtype://username:password@hostname:port/db_name

Replace your sqldbtype, username, password, hostname (localhost?), port (5432?), and db name in .env file.

🕹 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.

About


Languages

Language:Python 81.3%Language:HTML 12.4%Language:Nix 5.9%Language:Dockerfile 0.3%Language:Procfile 0.1%