Skip to content

NodeOOF/T2B_ForwarderBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

T2B Forwarder Bot

ربات فوروارد پیام از کانال تلگرام به کانال بله روی Cloudflare Workers.

معماری

تلگرام → Worker (Cloudflare) → بله
              ↓
           D1 Database (ذخیره last_update_id)

قابلیت‌ها

  • فوروارد خودکار پیام‌ها هر 1 دقیقه (Cron)
  • پشتیبانی از متن، عکس، ویدیو، صدا، فایل، GIF
  • حفظ فرمت‌های متنی (بولد، ایتالیک، لینک و...)
  • ارسال فایل‌های کوچکتر از 20MB مستقیماً باuffer
  • ارسال فایل‌های بزرگتر از 20MB از طریق هاست رایگان (0x0.st)
  • پشتیبانی از کانال‌های خصوصی و عمومی
  • ذخیره وضعیت در D1 (عدم تکرار پیام‌ها)

ساختار پروژه

T2B_ForwarderBot/
├── index.js              # کد اصلی Worker
├── wrangler.toml         # تنظیمات Cloudflare Worker
├── wrangler-example.toml # الگوی تنظیمات (بدون توکن‌ها)
└── README.md

پیش‌نیازها

  1. اکانت Cloudflare
  2. توکن بات تلگرام (از @BotFather)
  3. توکن بات بله
  4. بات‌ها باید ادمین کانال‌های مربوطه باشن

راه‌اندازی

1. نصب Wrangler

npm install -g wrangler

2. لاگین به Cloudflare

wrangler login

3. کپی فایل تنظیمات

cp wrangler-example.toml wrangler.toml

4. ویرایش wrangler.toml

مقادیر زیر رو با اطلاعات خودت عوض کن:

متغیر توضیح
account_id ID اکانت Cloudflare
database_id ID دیتابیس D1
TELEGRAM_BOT_TOKEN توکن بات تلگرام
BALE_BOT_TOKEN توکن بات بله
TELEGRAM_CHANNEL_ID ID کانال مبدأ (مثلاً -1001234567890)
BALE_CHANNEL_ID نام کانال مقصد (مثلاً @channel_name)

5. ساخت D1 Database

wrangler d1 create forwarder-db

ID ساخته شده رو در wrangler.toml قرار بدی.

6. ساخت جدول

wrangler d1 execute forwarder-db --remote --command "CREATE TABLE IF NOT EXISTS settings (key TEXT PRIMARY KEY, value TEXT NOT NULL);"

7. Deploy

wrangler deploy

HTTP Endpoints

آدرس عملکرد
GET /test اجرای دستی فوروارد پیام‌ها
GET /reset صفر کردن update_id (برای دریافت پیام‌های قبلی)

Cron

Worker هر 1 دقیقه خودکار اجرا میشه و پیام‌های جدید رو فوروارد می‌کنه.

پشتیبانی از انواع پیام

نوع پیام وضعیت
متن ساده مستقیم
عکس مستقیم
ویدیو مستقیم
صدا مستقیم
فایل مستقیم
GIF مستقیم
استیکر به صورت فایل
ویس به صورت فایل
video_note به صورت فایل

نحوه کار فایل‌ها

حجم < 20MB  → دانلود از تلگرام → ارسال مستقیم به بله
حجم >= 20MB → دانلود از تلگرام → آپلود به 0x0.st → ارسال لینک به بله
خطا در آپلود → ارسال لینک موقت تلگرام (1 ساعته)

عیب‌یابی

بات پیام‌ها رو فوروارد نمی‌کنه

  1. مطمئن شو بات ادمین کانال تلگرامه
  2. دسترسی Post Messages فعال باشه
  3. GET /reset بزنید تا update_id صفر بشه
  4. GET /test بزنید تا تست کنید

خطای Unauthorized

توکن بات رو چک کنید. توکن جدید از @BotFather بگیرید.

کانال خصوصی

برای کانال‌های خصوصی، TELEGRAM_CHANNEL_ID باید عددی باشه (مثلاً -1001234567890).

هزینه

  • Cloudflare Workers: رایگان (100,000 درخواست روزانه)
  • D1 Database: رایگان (100,000 خواندن/نوشتن روزانه)
  • 0x0.st: رایگان (نیاز به ثبت‌نام نداره)

لایسنس

MIT

About

ارسال خودکار پست تلگرامی به بله

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages