A serverless Telegram file-uploader bot — runs entirely on Cloudflare, no server required.
📢 Telegram Channel: @NetraIR
Language: 🇬🇧 English · 🇮🇷 فارسی · 🇨🇳 中文 · 🇷🇺 Русский
English
📢 Telegram Channel: @NetraIR
📖 What this is
A Telegram bot that stores files (in a private Telegram channel you control) and hands out a private download link/code for each one. It supports 10 interface languages, an admin panel, optional forced-join, and optional auto-delete of sent files.
✅ Before you start
You'll need: a Cloudflare account (free tier is fine) and a Telegram account. Everything is done through Cloudflare's web dashboard — no Node.js or command-line tools required.
🚀 Prefer an easy install? Talk to @NetraInstallerBOT on Telegram — it walks you through setup step by step, no manual copy-pasting needed.
⚙️ Installation
🤖 Create your bot
- Open Telegram, search for @BotFather, and start a chat with it.
- Send
/newbotand follow the prompts (it'll ask you to pick a name). - At the end it gives you a long code called a token. Copy and save it — this is your
BOT_TOKEN.
🆔 Find your Telegram ID
- Search for @userinfobot and send it any message.
- It replies with a number — that's your personal ID. Save it — this is your
OWNER_ID.
☁️ Sign up for a free Cloudflare account
- Go to dash.cloudflare.com and sign up (the free plan is enough).
🗄️ Create a database
- In the Cloudflare dashboard, click Storage & Databases on the left, then click D1 SQL Database.
- Click Create database, type the name
filestore-bot, and create it. - Open the new database and copy the Database ID shown on the page — save it for later.
📄 Load the starting structure into the database
- On that same database page, click the Console tab.
- Open the
schema.sqlfile (included in this project) with Notepad or any text editor. - Copy everything in it, paste it into the Console box, and click Run.
⚡ Create the Worker (this is where your bot's code will live)
- Go to Workers & Pages, click Create, then Create Worker.
- Give it any name, e.g.
my-file-bot, and click Deploy to finish creating it.
💻 Add your bot's code
- Open the Worker you just created and click Edit code.
- Delete all the default code inside.
- Open the
worker.jsfile from this project, copy everything in it, and paste it in. - Click Save and deploy.
🔧 Set up your Worker's variables (this covers everything in the Variables tab)
- Go to the Worker's Settings tab, then click Variables (sometimes called Bindings).
- Under D1 Database Bindings, click Add binding. For "Variable name" type
DB, and pick thefilestore-botdatabase. - Still on this tab, add these three variables one at a time:
Variable Value Encrypt? OWNER_IDYour Telegram ID from step 2 No BOT_TOKENYour bot's token from step 1 ✅ Yes WEBHOOK_SECRETA random string, at least 16 characters, mixing letters and numbers (e.g. mySecret2026XYZ!) — the longer and more random, the safer✅ Yes - Click Save (and redeploy if it asks you to).
🌐 Copy your Worker's web address
- On the Worker's main page you'll see an address ending in
.workers.dev. Copy it.
- On the Worker's main page you'll see an address ending in
📡 Tell Telegram where your bot lives
- Open this link in your browser, replacing the parts inside
< >with your own token and worker address:
https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=https://<your-worker>.workers.dev/webhook/<WEBHOOK_SECRET>- If it worked, you'll see
{"ok":true,...}on the page.
- Open this link in your browser, replacing the parts inside
🚀 Try it out!
- Open your bot in Telegram and send
/start. - Since you're the owner, also send
/adminto open the control panel. The first thing it asks for is your storage channel — just forward it any message from that channel (make sure your bot is an admin of that channel first).
- Open your bot in Telegram and send
💬 Support
Questions or issues? Reach out on Telegram: @NetraIR
فارسی
📢 کانال تلگرام: @NetraIR
📖 این چیست
یک ربات تلگرام که فایلها را در یک کانال خصوصی تلگرام (متعلق به خودتان) ذخیره میکند و برای هر فایل یک لینک/کد دانلود اختصاصی میدهد. از ۱۰ زبان رابط کاربری، پنل مدیریت، عضویت اجباری اختیاری و حذف خود��ار فایل ارسالی پشتیبانی میکند.
✅ قبل از شروع
به اینها نیاز دارید: یک حساب Cloudflare (پلن رایگان کافی است) و یک حساب تلگرام. همهٔ مراحل از طریق پنل وب Cloudflare انجام میشود — نیازی به نصب Node.js یا هیچ ابزار خط فرمانی نیست.
🚀 نصب آسانتر میخواهید؟ با ربات @NetraInstallerBOT در تلگرام صحبت کنید — مرحله به مرحله راهاندازی را برایتان انجام میدهد، بدون نیاز به کپی-پیست دستی.
⚙️ نصب
🤖 رباتتان را بسازید
- تلگرام را باز کنید، دنبال BotFather@ بگردید و با آن چت را شروع کنید.
- پیام
/newbotرا بفرستید و مراحل را دنبال کنید (از شما یک اسم میخواهد). - در پایان یک کد طولانی به شما میدهد به نام توکن. آن را کپی و جایی ذخیره کنید — این همان
BOT_TOKENشماست.
🆔 آیدی تلگرامتان را پیدا کنید
- دنبال userinfobot@ بگردید و هر پیامی برایش بفرستید.
- یک عدد برایتان میفرستد — همان آیدی شخصی شماست. آن را ذخیره کنید — این
OWNER_IDشماست.
☁️ یک حساب رایگان Cloudflare بسازید
- به آدرس dash.cloudflare.com بروید و ثبتنام کنید (پلن رایگان کافی است).
🗄️ یک دیتابیس بسازید
- در داشبورد Cloudflare، از منوی سمت چپ روی Storage & Databases کلیک کنید، سپس روی D1 SQL Database.
- روی Create database کلیک کنید، نام
filestore-botرا بنویسید و بسازید. - دیتابیس تازهساخته را باز کنید و مقدار Database ID نمایش دادهشده را کپی و جایی یادداشت کنید.
📄 ساختار اولیهٔ دیتابیس را وارد کنید
- در همان صفحهٔ دیتابیس، تب Console را باز کنید.
- فایل
schema.sql(همراه این پروژه) را با یک ویرایشگر متن مثل Notepad باز کنید. - کل محتوای آن را کپی کنید، در کادر Console جایگذاری کنید و روی Run کلیک کنید.
⚡ Worker بسازید (جایی که کد رباتتان زندگی میکند)
- به Workers & Pages بروید، روی Create و سپس Create Worker کلیک کنید.
- یک نام دلخواه مثل
my-file-botبدهید و روی Deploy بزنید تا ساخته شود.
💻 کد ربات را اضافه کنید
- Workerی که ساختید را باز کنید و روی Edit code کلیک کنید.
- تمام کد پیشفرض داخلش را پاک کنید.
- فایل
worker.js(همراه این پروژه) را باز کنید، همهاش را کپی و اینجا جایگذاری کنید. - روی Save and deploy کلیک کنید.
🔧 متغیرهای Worker را تنظیم کنید (همهٔ این کارها در یک تب انجام میشود)
- به تب Settings ورکر بروید، سپس روی Variables کلیک کنید (گاهی Bindings هم نامیده میشود).
- در بخش D1 Database Bindings روی Add binding کلیک کنید. در قسمت «Variable name» بنویسید
DBو دیتابیسfilestore-botرا انتخاب کنید. - در همان تب، این سه متغیر را هم اضافه کنید:
متغیر مقدار رمزنگاری (Encrypt)؟ OWNER_IDآیدی تلگرامی که در مرحلهٔ ۲ گرفتید خیر BOT_TOKENتوکنی که در مرحلهٔ ۱ گرفتید ✅ بله WEBHOOK_SECRETیک رشتهٔ تصادفی حداقل ۱۶ کاراکتری، ترکیبی از حروف و عدد (مثلاً mySecret2026XYZ!) — هرچه طولانیتر و تصادفیتر، امنتر✅ بله - روی Save کلیک کنید (اگر خواست، دوباره Deploy کنید).
🌐 آدرس اینترنتی Worker را کپی کنید
- در صفحهٔ اصلی Worker، یک آدرس با پسوند
.workers.devمیبینید. آن را کپی کنید.
- در صفحهٔ اصلی Worker، یک آدرس با پسوند
📡 به تلگرام بگویید رباتتان کجاست
- این لینک را در مرورگرتان باز کنید، فقط دو قسمت داخل
< >را با توکن و آدرس Worker خودتان جایگزین کنید:
https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=https://<your-worker>.workers.dev/webhook/<WEBHOOK_SECRET>- اگر درست کار کرد، عبارت
{"ok":true,...}را در صفحه میبینید.
- این لینک را در مرورگرتان باز کنید، فقط دو قسمت داخل
🚀 امتحانش کنید!
- رباتتان را در تلگرام باز کنید و
/startبفرستید. - چون شما مالک هستید،
/adminرا هم بفرستید تا پنل مدیریت باز شود. اولین کاری که از شما میخواهد تنظیم کانال ذخیرهسازی است — کافیست یک پیام از آن کانال را برای ربات فوروارد کنید (قبلش مطمئن شوید ربات ادمین همان کانال شده باشد).
- رباتتان را در تلگرام باز کنید و
💬 پشتیبانی
سوال یا مشکلی دارید؟ در تلگرام پیام بدهید: @NetraIR
中文
📢 Telegram 频道: @NetraIR
📖 这是什么
一个 Telegram 机器人,将文件保存在您自己控制的私有 Telegram 频道中,并为每个文件生成专属的下载链接/代码。支持 10 种界面语言、管理面板、可选的强制加入频道功能,以及可选的文件自动删除功能。
✅ 开始之前
您需要:一个 Cloudflare 账户(免费套餐即可)和一个 Telegram 账户。全部操作都通过 Cloudflare 的网页控制台完成——不需要安装 Node.js 或任何命令行工具。
🚀 想要更简单的安装方式? 联系 Telegram 机器人 @NetraInstallerBOT,它会一步步引导您完成设置,无需手动复制粘贴。
⚙️ 安装步骤
🤖 创建您的机器人
- 打开 Telegram,搜索 @BotFather,和它开始对话。
- 发送
/newbot,按照提示操作(它会让您取一个名��)。 - 最后它会给您一长串代码,叫做令牌(token)。复制并保存好——这就是您的
BOT_TOKEN。
🆔 找到您的 Telegram ID
- 搜索 @userinfobot,给它发送任意一条消息。
- 它会回复一个数字,这就是您的个人 ID。保存它——这就是您的
OWNER_ID。
☁️ 注册一个免费的 Cloudflare 账户
- 前往 dash.cloudflare.com 注册(免费套餐就够用)。
🗄️ 创建一个数据库
- 在 Cloudflare 控制台左侧菜单,点击 Storage & Databases,再点击 D1 SQL Database。
- 点击 Create database,输入名称
filestore-bot,创建。 - 打开这个新数据库,复制页面上显示的 Database ID,先保存下来。
📄 导入数据库的初始结构
- 在同一个数据库页面,打开 Console 标签页。
- 用文本编辑器(比如记事本)打开项目里的
schema.sql文件。 - 复制里面全部内容,粘贴到 Console 输入框中,点击 Run。
⚡ 创建 Worker(您机器人代码存放的地方)
- 前往 Workers & Pages,点击 Create,再点击 Create Worker。
- 随便取个名字,比如
my-file-bot,点击 Deploy 完成创建。
💻 添加机器人代码
- 打开刚创建的 Worker,点击 Edit code。
- 删除���面所有默认代码。
- 打开项目里的
worker.js文件,复制全部内容,粘贴进去。 - 点击 Save and deploy。
🔧 设置 Worker 的变量(这些操作都在同一个标签页完成)
- 进入 Worker 的 Settings 标签页,再点击 Variables(有时也叫 Bindings)。
- 在 D1 Database Bindings 部分点击 Add binding。"Variable name" 填
DB,数据库选择filestore-bot。 - 在同一个页面,再添加以下三个变量:
变量 值 是否加密 OWNER_ID第 2 步得到的 Telegram ID 否 BOT_TOKEN第 1 步得到的令牌 ✅ 是 WEBHOOK_SECRET自己编一串至少 16 个字符的随机字符串,字母加数字混合(例如 mySecret2026XYZ!)——越长、越随机越安全✅ 是 - 点击 Save(如果提示,请重新部署)。
🌐 复制 Worker 的网址
- 在 Worker 主页面,您会看到一个以
.workers.dev结尾的网址,复制它。
- 在 Worker 主页面,您会看到一个以
📡 告诉 Telegram 您的机器人在哪里
- 在浏览器中打开下面这个链接,把
< >里的部分换成您自己的令牌和 Worker 地址:
https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=https://<your-worker>.workers.dev/webhook/<WEBHOOK_SECRET>- 如果成功,页面上会显示
{"ok":true,...}。
- 在浏览器中打开下面这个链接,把
🚀 试试看!
- 在 Telegram 中打开您的机器人,发送
/start。 - 因为您是所有者,再发送
/admin打开管理面板。它首先会让您设置存储频道——只需转发该频道的一条消息给机器人即可(记得先把机器人加为该频道的管理员)。
- 在 Telegram 中打开您的机器人,发送
💬 获取支持
有问题或遇到故障?请通过 Telegram 联系:@NetraIR
Русский
📢 Телеграм-канал: @NetraIR
📖 Что это такое
Telegram-бот, который сохраняет файлы в приватном Telegram-канале, принадлежащем вам, и выдаёт для каждого файла приватную ссылку/код для скачивания. Поддерживает 10 языков интерфейса, панель администратора, опциональную обязательную подписку на канал и опциональное автоудаление отправленных файлов.
✅ Перед началом
Понадобится: аккаунт Cloudflare (бесплатного тарифа достаточно) и аккаунт Telegram. Всё делается через веб-панель Cloudflare — устанавливать Node.js или каки��-либо инструменты командной строки не нужно.
🚀 Хотите более простую установку? Напишите боту @NetraInstallerBOT в Telegram — он проведёт вас через настройку шаг за шагом, без ручного копирования и вставки.
⚙️ Установка
🤖 Создайте своего бота
- Откройте Telegram, найдите @BotFather и начните с ним чат.
- Отправьте
/newbotи следуйте подсказкам (он попросит придумать имя). - В конце он даст вам длинный код — токен. Скопируйте и сохраните его — это ваш
BOT_TOKEN.
🆔 Узнайте свой Telegram ID
- Найдите @userinfobot и отправьте ему любое сообщение.
- Он ответит числом — это ваш личный ID. Сохраните его — это ваш
OWNER_ID.
☁️ Зарегистрируйте бесплатный аккаунт Cloudflare
- Перейдите на dash.cloudflare.com и зарегистрируйтесь (бесплатног�� тарифа достаточно).
🗄️ Создайте базу данных
- В панели Cloudflare слева нажмите Storage & Databases, затем D1 SQL Database.
- Нажмите Create database, введите имя
filestore-botи создайте. - Откройте новую базу данных и скопируйте показанный Database ID — сохраните его.
📄 Загрузите начальную структуру базы данных
- На той же странице базы данных откройте вкладку Console.
- Откройте файл
schema.sql(идёт вместе с проектом) в любом текстовом редакторе. - Скопируйте всё его содержимое, вставьте в поле Console и нажмите Run.
⚡ Создайте Worker (место, где будет жить код бота)
- Перейдите в Workers & Pages, нажмите Create, затем Create Worker.
- Дайте любое имя, например
my-file-bot, и нажмите Deploy, чтобы завершить создание.
💻 Добавьте код бота
- Откройте созданный Worker и нажмите Edit code.
- Удалите весь код по умолчанию.
- Откройте файл
worker.js(из этого проекта), скопируйте всё содержимое и вставьте сюда. - Нажмите Save and deploy.
🔧 Настройте переменные Worker'а (всё делается на одной вкладке)
- Перейдите на вкладку Settings Worker'а, затем нажмите Variables (иногда называется Bindings).
- В разделе D1 Database Bindings нажмите Add binding. В поле "Variable name" впишите
DB, а базу выберитеfilestore-bot. - На этой же странице добавьте ещё три переменные:
Переменная Значение Encrypt? OWNER_IDВаш Telegram ID из шага 2 Нет BOT_TOKENТокен бота из шага 1 ✅ Да WEBHOOK_SECRETСлучайная строка не короче 16 символов, смесь букв и цифр (например, mySecret2026XYZ!) — чем длиннее и случайнее, тем безопаснее✅ Да - Нажмите Save (и разверните заново, если попросит).
🌐 Скопируйте адрес вашего Worker
- На главной странице Worker вы увидите адрес, заканчивающийся на
.workers.dev. Скопируйте его.
- На главной странице Worker вы увидите адрес, заканчивающийся на
📡 Скажите Telegram, где находится ваш бот
- Откройте эту ссылку в браузере, заменив части в
< >на свой токен и адрес Worker:
https://api.telegram.org/bot<BOT_TOKEN>/setWebhook?url=https://<your-worker>.workers.dev/webhook/<WEBHOOK_SECRET>- Если всё получилось, на странице появится
{"ok":true,...}.
- Откройте эту ссылку в браузере, заменив части в
🚀 Проверьте, как это работает!
- Откройте вашего бота в Telegram и отправьте
/start. - Так как вы владелец, отправьте
/admin, чтобы открыть панель управления. Сначала она попросит настроить канал хранения — просто перешлите боту любое сообщение из этого канала (сначала добавьте бота туда администратором).
- Откройте вашего бота в Telegram и отправьте
💬 Поддержка
Вопросы или проблемы? Пишите в Telegram: @NetraIR
Comments