HydroStreamerBot icon indicating copy to clipboard operation
HydroStreamerBot copied to clipboard

Telegram Advance File To Link Bot With More Advance Feature And Using Hydrogram For Better Optimization

🚀 Hydro Streamer Bot 🌊

Telegram Logo

Telegram Advanced File to Link Bot
Convert files to links for easy streaming and downloading with advanced features using Hydrogram.

🐞 Report a Bug | ✨ Request a Feature


📋 Table of Contents
  1. About This Bot
    • Features
    • Original Repository
  2. How to Make Your Own
    • Deploy on Heroku
    • Run It in a VPS / Locally
  3. Setting Up Things
  • Mandatory Vars
  • Optional Vars
  • How to Use the Bot
  • FAQ
  • Contributing
  • Contact Me
  • Credits
  • 🤖 About This Bot

    ⚙️ Features

    • Streamlined Code: Unnecessary features removed for efficiency.

    • High Speed: Utilizes Hydrogram for faster operation.

    • Easy Deployment: Fully configured for Heroku.

    • Enhanced Functionality: Improved user interface and additional features:

      • 👤 User-Friendly Interface
      • 🔗 Stream Links
      • 👥 Group Functionality
      • 📂 Retrieve Files
      • 🔄 Update Channel
      • 📋 Log Channel
      • ⚖️ Terms & Conditions
      • Delete Links
      • 📢 Broadcasts (Admin)
      • 🚫 Ban User (Admin)
      • Unban User (Admin)
      • 🔢 Link Limits

    💻 Bot Commands

    View All Commands (Click to expand)
    start - Start the bot
    link - Generate a stream link
    help - Bot usage details
    myfiles - Retrieve all files
    ban - (Admin) Ban users
    unban - (Admin) Unban users
    stats - (Admin) Bot usage stats
    who - (Admin) Check sender of a file
    

    🎥 Original Repository

    HydroStreamerBot is a modified version of FileStreamBot.

    🚀 How to Make Your Own

    Deploy on Heroku

    Press the button below to deploy on Heroku:

    Deploy To Heroku

    Then go to the variables tab for more info on setting up environmental variables.

    Host It on VPS or Locally

    git clone https://github.com/BalaPriyan/HydroStreamerBot
    cd HydroStreamerBot
    python3 -m venv ./venv
    . ./venv/bin/activate
    pip3 install -r requirements.txt
    python3 -m WebStreamer
    

    To stop the bot:

    Ctrl + C
    

    If you want to run the bot 24/7 on VPS:

    sudo apt install tmux -y
    tmux
    python3 -m WebStreamer
    

    Now you can close the VPS, and the bot will keep running.

    ⚙️ Setting Up Things

    If you're on Heroku, just add these to the Environmental Variables. If you're hosting locally, create a .env file in the root directory and add all the variables there. Example .env file:

    API_ID=
    API_HASH=
    BOT_TOKEN=
    BIN_CHANNEL=
    DATABASE_URL=
    FQDN=
    HAS_SSL=
    MULTI_TOKEN1=
    MULTI_TOKEN2=
    MULTI_TOKEN3=
    OWNER_ID=
    PORT=
    

    🔐 Mandatory Vars

    • API_ID: Get it from my.telegram.org.
    • API_HASH: Get it from my.telegram.org.
    • BOT_TOKEN: Get the bot token from @BotFather.
    • BIN_CHANNEL: Create a new channel (private/public), post something in your channel, forward that post to @missrose_bot, and reply with /id. Copy the forwarded channel ID here.
    • OWNER_ID: Your Telegram User ID. Send /id to @missrose_bot to get it.
    • DATABASE_URL: MongoDB URI for saving user IDs for broadcasting.

    🔧 Optional Vars

    • SLEEP_THRESHOLD: Flood wait exception threshold. Defaults to 60 seconds.
    • WORKERS: Maximum concurrent workers. Defaults to 6.
    • PORT: Port for the web app. Defaults to 8080.
    • WEB_SERVER_BIND_ADDRESS: Server bind address. Defaults to 0.0.0.0.
    • NO_PORT: If True, the port is not displayed. Defaults to False.
    • FQDN: Fully Qualified Domain Name. Defaults to WEB_SERVER_BIND_ADDRESS.
    • HAS_SSL: If True, generated links are in HTTPS format. Defaults to False.
    • PING_INTERVAL: Time for server pings. Defaults to 1200 ms.
    • UPDATES_CHANNEL: Telegram channel username without @.
    • FORCE_UPDATES_CHANNEL: If True, users must join the update channel to use the bot.
    • SESSION_NAME: Database name. Defaults to HydroStreamerBot.
    • ALLOWED_USERS: User Telegram IDs allowed to use the bot.
    • KEEP_ALIVE: If True, the server pings itself every few minutes.
    • IMAGE_FILEID: Photo to send with /myfiles. Use file_id or an HTTP URL.
    • TOS: URL to your Terms of Service.
    • MODE: Set to secondary to use the server only for serving files.
    • LINK_LIMIT: Limit the number of links a user can generate.

    📟 How to Use the Bot

    ⚠️ Before using the bot, don't forget to add all the bots (multi-client ones too) to the BIN_CHANNEL as admins.

    • /start: To check if the bot is alive.
    • To get an instant stream link, just forward any media to the bot.

    ❓ FAQ

    • How long do the links remain valid?

      Links remain valid as long as your bot is running and you haven't deleted the log channel.

    🤝 Contributing

    Feel free to contribute to this project if you have any ideas!

    📬 Contact Me

    Telegram Channel

    🏅 Credits