{"id":13989301,"url":"https://github.com/avipatilpro/FileStreamBot","last_synced_at":"2025-07-22T10:31:55.481Z","repository":{"id":37755886,"uuid":"360407708","full_name":"avipatilpro/FileStreamBot","owner":"avipatilpro","description":"Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly","archived":false,"fork":false,"pushed_at":"2024-07-07T03:01:46.000Z","size":178,"stargazers_count":300,"open_issues_count":7,"forks_count":877,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-08-09T13:15:41.514Z","etag":null,"topics":["file-to-link","filestream","filestreambot","pyrogram","telegram-bot"],"latest_commit_sha":null,"homepage":"https://github.com/avipatilpro/FileStreamBot","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avipatilpro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-04-22T05:56:36.000Z","updated_at":"2024-08-09T03:27:35.000Z","dependencies_parsed_at":"2024-01-06T10:43:28.725Z","dependency_job_id":null,"html_url":"https://github.com/avipatilpro/FileStreamBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avipatilpro%2FFileStreamBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avipatilpro%2FFileStreamBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avipatilpro%2FFileStreamBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avipatilpro%2FFileStreamBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avipatilpro","download_url":"https://codeload.github.com/avipatilpro/FileStreamBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227079195,"owners_count":17727977,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-to-link","filestream","filestreambot","pyrogram","telegram-bot"],"created_at":"2024-08-09T13:01:35.857Z","updated_at":"2024-11-29T08:30:52.236Z","avatar_url":"https://github.com/avipatilpro.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eFileStreamBot\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Avipatilpro/FileStreamBot\"\u003e\n    \u003cimg src=\"https://graph.org/file/80d1f94e81bbc1acadb36.jpg\" alt=\"Cover Image\" width=\"550\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e  \n  \u003cp align=\"center\"\u003e\n   \u003c/strong\u003e\u003c/a\u003e\n    \u003cbr\u003e\u003cb\u003e\n    \u003ca href=\"https://github.com/Avipatilpro/FileStreamBot/issues\"\u003eReport a Bug\u003c/a\u003e\n    |\n    \u003ca href=\"https://github.com/Avipatilpro/FileStreamBot/issues\"\u003eRequest Feature\u003c/a\u003e\u003c/b\u003e\n  \u003c/p\u003e\n\n\n\n### 🍁 About :\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/Avipatilpro/FileStreamBot\"\u003e\n        \u003cimg src=\"https://i.ibb.co/ZJzJ9Hq/link-3x.png\" height=\"100\" width=\"100\" alt=\"FileStreamBot Logo\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align='center'\u003e\n  This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.\n\u003c/p\u003e\n\n\n### ♢ How to Deploy :\n\n\u003ci\u003eEither you could locally host, VPS, or deploy on [Heroku](https://heroku.com)\u003c/i\u003e\n\n#### ♢ Click on This Drop-down and get more details\n\n\u003cbr\u003e\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eDeploy on Heroku (Paid)  :\u003c/b\u003e\u003c/summary\u003e\n\n- Fork This Repo\n- Click on Deploy Easily\n- Press the below button to Fast deploy on Heroku\n\n\n   [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)\n- Go to \u003ca href=\"#mandatory-vars\"\u003evariables tab\u003c/a\u003e for more info on setting up environmental variables. \u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eDeploy Locally :\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n\n```sh\ngit clone https://github.com/avipatilpro/FileStreamBot\ncd FileStreamBot\npython3 -m venv ./venv\n. ./venv/bin/activate\npip install -r requirements.txt\npython3 -m FileStream\n```\n\n- To stop the whole bot,\n do \u003ckbd\u003eCTRL\u003c/kbd\u003e+\u003ckbd\u003eC\u003c/kbd\u003e\n\n- If you want to run this bot 24/7 on the VPS, follow these steps.\n```sh\nsudo apt install tmux -y\ntmux\npython3 -m FileStream\n```\n- now you can close the VPS and the bot will run on it.\n\n  \u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eDeploy using Docker :\u003c/b\u003e\u003c/summary\u003e\n\u003cbr\u003e\n* Clone the repository:\n```sh\ngit clone https://github.com/avipatilpro/FileStreamBot\ncd FileStreamBot\n```\n* Build own Docker image:\n```sh\ndocker build -t file-stream .\n```\n\n* Create ENV and Start Container:\n```sh\ndocker run -d --restart unless-stopped --name fsb \\\n-v /PATH/TO/.env:/app/.env \\\n-p 8000:8000 \\\nfile-stream\n```\n- if you need to change the variables in .env file after your bot was already started, all you need to do is restart the container for the bot settings to get updated:\n```sh\ndocker restart fsb\n```\n\n  \u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eSetting up things :\u003c/b\u003e\u003c/summary\u003e\n\n\nIf you're on Heroku, just add these in the Environmental Variables\nor if you're Locally hosting, create a file named `.env` in the root directory and add all the variables there.\nAn example of `.env` file:\n\n```sh\nAPI_ID = 789456\nAPI_HASH = ysx275f9638x896g43sfzx65\nBOT_TOKEN = 12345678:your_bot_token\nULOG_CHANNEL = -100123456789\nFLOG_CHANNEL = -100123456789\nDATABASE_URL = mongodb://admin:pass@192.168.27.1\nFQDN = 192.168.27.1\nHAS_SSL = False\nMULTI_TOKEN1 = 12345678:bot_token_multi_client_1\nMULTI_TOKEN2 = 12345678:bot_token_multi_client_2\nOWNER_ID = 987456321\nPORT = 8080\n```\n\u003c/details\u003e\n\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eVars and Details :\u003c/b\u003e\u003c/summary\u003e\n\n#### 📝 Mandatory Vars :\n\n* `API_ID`: API ID of your Telegram account, can be obtained from [My Telegram](https://my.telegram.org). `int`\n* `API_HASH`: API hash of your Telegram account, can be obtained from [My Telegram](https://my.telegram.org). `str`\n* `OWNER_ID`: Your Telegram User ID, Send `/id` to [@missrose_bot](https://telegram.dog/MissRose_bot) to get Your Telegram User ID `int`\n* `BOT_TOKEN`: Telegram API token of your bot, can be obtained from [@BotFather](https://t.me/BotFather). `str`\n* `FLOG_CHANNEL`: ID of the channel where bot will store all Files from users `int`.\n* `ULOG_CHANNEL`: ID of the channel where bot will send logs of New Users`int`.\n* `BOT_WORKERS`: Number of updates bot should process from Telegram at once, by default to 10 updates. `int`\n* `DATABASE_URL`: MongoDB URI for saving User Data and Files List created by user. `str`\n* `FQDN`: A Fully Qualified Domain Name if present without http/s. Defaults to `BIND_ADDRESS`. `str`\n\n#### 🗼 MultiClient Vars :\n* `MULTI_TOKEN1`: Add your first bot token or session strings here. `str`\n* `MULTI_TOKEN2`: Add your second bot token or session strings here. `str`\n\n#### 🪐 Optional Vars :\n\n* `UPDATES_CHANNEL`: Channel Username without `@` to set channel as Update Channel `str`\n* `FORCE_SUB_ID`: Force Sub Channel ID, if you want to use Force Sub. start with `-100` `int\n* `FORCE_SUB`: Set to True, so every user have to Join update channel to use the bot. `bool`\n* `AUTH_USERS`: Put authorized user IDs to use bot, separated by \u003ckbd\u003eSpace\u003c/kbd\u003e. `int`\n* `SLEEP_THRESHOLD`: Set global flood wait threshold, auto-retry requests under 60s. `int`\n* `SESSION_NAME`: Name for the Database created on your MongoDB. Defaults to `FileStream`. `str`\n* `FILE_PIC`: To set Image at `/files` command. Defaults to pre-set image. `str`\n* `START_PIC`: To set Image at `/start` command. Defaults to pre-set image. `str`\n* `VERIFY_PIC`: To set Image at Force Sub Verification. Defaults to pre-set image. `str`\n* `WORKERS`: Number of maximum concurrent workers for handling incoming updates. Defaults to `6`. `int`\n* `PORT`: The port that you want your webapp to be listened to. Defaults to `8080`. `int`\n* `BIND_ADDRESS`: Your server bind adress. Defauls to `0.0.0.0`. `int`\n* `MODE`: Should be set to `secondary` if you only want to use the server for serving files. `str`\n* `NO_PORT`: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to `False`.\n* `HAS_SSL`: (can be either `True` or `False`) If you want the generated links in https format. Defaults to `False`. \n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eHow to Use :\u003c/b\u003e\u003c/summary\u003e\n\n:warning: **Before using the  bot, don't forget to add the bot to the `LOG_CHANNEL` as an Admin**\n \n#### ‍☠️ Bot Commands :\n\n```sh\n/start      : To check the bot is alive or not.\n/help       : To Get Help Message.\n/about      : To check About the Bot.\n/files      : To Get All Files List of User.\n/del        : To Delete Files from DB with FileID. [ADMIN]\n/ban        : To Ban Any Channel or User to use bot. [ADMIN]\n/unban      : To Unban Any Channel or User to use bot. [ADMIN]\n/status     : To Get Bot Status and Total Users. [ADMIN]\n/broadcast  : To Broadcast any message to all users of bot. [ADMIN]\n```\n\n#### 🍟 Channel Support :\n\n*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.*\n\n\u003c/details\u003e\n\n### ❤️ Thanks To :\n\n- [**Me**](https://github.com/AvishkarPatil) : Owner of This FileStreamBot\n- [**Deekshith SH**](https://github.com/DeekshithSH) : for some modules.\n- [**EverythingSuckz**](https://github.com/EverythingSuckz) : for his [FileStreamBot](https://github.com/EverythingSuckz/FileStreamBot)\n- [**Biisal**](https://github.com/biisal) : for Stream Page UI\n\n---\n\u003ch4 align='center'\u003e© 2024 Aνιѕнкαя Pαтιℓ\u003c/h4\u003e\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favipatilpro%2FFileStreamBot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favipatilpro%2FFileStreamBot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favipatilpro%2FFileStreamBot/lists"}