Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

FileStreamBot

Cover Image


Report a Bug | Request Feature

🍁 About :

FileStreamBot Logo

This bot provides stream links for Telegram files without the necessity of waiting for the download to complete, offering the ability to store files.

♢ How to Deploy :

Either you could locally host, VPS, or deploy on Heroku

♢ Click on This Drop-down and get more details


Deploy on Heroku (Paid) :
  • Fork This Repo

  • Click on Deploy Easily

  • Press the below button to Fast deploy on Heroku

    Deploy

  • Go to variables tab for more info on setting up environmental variables.

Deploy Locally :
git clone https://github.com/avipatilpro/FileStreamBot
cd FileStreamBot
python3 -m venv ./venv
. ./venv/bin/activate
pip install -r requirements.txt
python3 -m FileStream
  • To stop the whole bot, do CTRL+C

  • If you want to run this bot 24/7 on the VPS, follow these steps.

sudo apt install tmux -y
tmux
python3 -m FileStream
  • now you can close the VPS and the bot will run on it.

Deploy using Docker :
* Clone the repository: ```sh git clone https://github.com/avipatilpro/FileStreamBot cd FileStreamBot ``` * Build own Docker image: ```sh docker build -t file-stream . ```
  • Create ENV and Start Container:
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
file-stream
  • 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:
docker restart fsb
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:

API_ID = 789456
API_HASH = ysx275f9638x896g43sfzx65
BOT_TOKEN = 12345678:your_bot_token
ULOG_CHANNEL = -100123456789
FLOG_CHANNEL = -100123456789
DATABASE_URL = mongodb://admin:pass@192.168.27.1
FQDN = 192.168.27.1
HAS_SSL = False
MULTI_TOKEN1 = 12345678:bot_token_multi_client_1
MULTI_TOKEN2 = 12345678:bot_token_multi_client_2
OWNER_ID = 987456321
PORT = 8080
Vars and Details :

📝 Mandatory Vars :

  • API_ID: API ID of your Telegram account, can be obtained from My Telegram. int
  • API_HASH: API hash of your Telegram account, can be obtained from My Telegram. str
  • OWNER_ID: Your Telegram User ID, Send /id to @missrose_bot to get Your Telegram User ID int
  • BOT_TOKEN: Telegram API token of your bot, can be obtained from @BotFather. str
  • FLOG_CHANNEL: ID of the channel where bot will store all Files from users int.
  • ULOG_CHANNEL: ID of the channel where bot will send logs of New Usersint.
  • BOT_WORKERS: Number of updates bot should process from Telegram at once, by default to 10 updates. int
  • DATABASE_URL: MongoDB URI for saving User Data and Files List created by user. str
  • FQDN: A Fully Qualified Domain Name if present without http/s. Defaults to BIND_ADDRESS. str

🗼 MultiClient Vars :

  • MULTI_TOKEN1: Add your first bot token or session strings here. str
  • MULTI_TOKEN2: Add your second bot token or session strings here. str

🪐 Optional Vars :

  • UPDATES_CHANNEL: Channel Username without @ to set channel as Update Channel str
  • FORCE_SUB_ID: Force Sub Channel ID, if you want to use Force Sub. start with -100 `int
  • FORCE_SUB: Set to True, so every user have to Join update channel to use the bot. bool
  • AUTH_USERS: Put authorized user IDs to use bot, separated by Space. int
  • SLEEP_THRESHOLD: Set global flood wait threshold, auto-retry requests under 60s. int
  • SESSION_NAME: Name for the Database created on your MongoDB. Defaults to FileStream. str
  • FILE_PIC: To set Image at /files command. Defaults to pre-set image. str
  • START_PIC: To set Image at /start command. Defaults to pre-set image. str
  • VERIFY_PIC: To set Image at Force Sub Verification. Defaults to pre-set image. str
  • WORKERS: Number of maximum concurrent workers for handling incoming updates. Defaults to 6. int
  • PORT: The port that you want your webapp to be listened to. Defaults to 8080. int
  • BIND_ADDRESS: Your server bind adress. Defauls to 0.0.0.0. int
  • MODE: Should be set to secondary if you only want to use the server for serving files. str
  • NO_PORT: (True/False) Set PORT to 80 or 443 hide port display; ignore if on Heroku. Defaults to False.
  • HAS_SSL: (can be either True or False) If you want the generated links in https format. Defaults to False.
How to Use :

⚠️Before using the bot, don't forget to add the bot to the LOG_CHANNEL as an Admin

‍☠️ Bot Commands :

/start : To check the bot is alive or not.
/help : To Get Help Message.
/about : To check About the Bot.
/files : To Get All Files List of User.
/del : To Delete Files from DB with FileID. [ADMIN]
/ban : To Ban Any Channel or User to use bot. [ADMIN]
/unban : To Unban Any Channel or User to use bot. [ADMIN]
/status : To Get Bot Status and Total Users. [ADMIN]
/broadcast : To Broadcast any message to all users of bot. [ADMIN]

🍟 Channel Support :

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.

❤️ Thanks To :


© 2024 Aνιѕнкαя Pαтιℓ

About

Telegram File to Link Fastest Bot , Its Generate Direct Links Quickly

Topics

Resources

Stars

437 stars

Watchers

12 watching

Forks

Used by

Contributors

Languages