ربات آپلود و دانلود فایل تلگرام

تلگرام یه فضای ذخیره سازی فوق العاده در اختیار کاربرها می‌ذاره. فایل‌ها همیشه قابل دسترس هستند و محدودیت حجمی هم نداریم! فکر کن به جای ۱۵ گیگ که گوگل درایو می‌ده، اینجا نامحدود فضا داریم. ولی مشکل اینه که تو ایران به خاطر سرعت اپلود پایین، ارسال فایل به تلگرام یه چالشه. این ربات رو ساختم که خیلی راحت، لینک مستقیم رو بهش بدیم، اونو دانلود کنه و فایلش رو تو تلگرام تحویل بده. از سمت دیگه، اگه هم سرعت دانلود از تلگرام به خاطر فیلترینگ پایین بود، می‌تونیم فایل تلگرامی رو بهش بدیم، اونو تو سرور آپلود کنه و لینک دانلود مستقیم بده تا خیلی راحت با حداکثر سرعت دانلودش کنیم‍! خلاصه که، این ربات رو ساختم تا همه این مشکلات رو حل کنه.

خلاصه‌ای از پروژه

دستهجزئیات
نام پروژهربات آپلود و دانلود فایل
پلتفرمتلگرام
وضعیتفعال و ۲۴ ساعته
تکنولوژی‌های اصلیپایتون ۳، python-telegram-bot، Pyrogram
کتابخانه‌های کلیدیrequests، paramiko، sqlalchemy، humanize
پایگاه دادهSQLite با SQLAlchemy — مدیریت کاربران و فایل‌ها
ویژگی‌های اصلیدانلود موازی، آپلود به FTP، لینک عمومی با انقضا، پیشرفت زنده
اجراروی سرور لینوکس با systemd — همیشه در دسترس

برای هر کاربری: کاربردی، امن، قابل کنترل

این ربات فقط یه ابزار نیست؛ یه سیستم مدیریت فایل شخصی توی تلگرامه که همه چیز رو منظم و قابل پیگیری نگه می‌داره.

دانلود از لینک (هر سایتی)

لینک هر فایلی رو بفرست:

  • ربات حجم و نام فایل رو نشون می‌ده
  • تأیید کنی، فایل رو دانلود می‌کنه
  • تا ۵۰ مگابایت با Bot API، بالای اون با Pyrogram (تا ۴ گیگ)
  • پیشرفت دانلود و آپلود زنده با درصد و سرعت

آپلود فایل به سرور

فایل، ویدیو یا صوت رو بفرست:

  • ربات فایل رو از تلگرام می‌گیره
  • روی سرور FTP آپلود می‌کنه
  • یه لینک عمومی با نام یکتا و تاریخ انقضا (فعلا ۲ روز) بهت می‌ده
  • فایل در دیتابیس ثبت می‌شه — بعداً می‌تونی لیستش رو ببینی

مدیریت فایل‌های آپلود شده

دکمه «فایل‌های من» رو بزن:

  • لیست همه فایل‌هایی که آپلود کردی
  • نام، حجم، تاریخ آپلود و لینک دانلود
  • بعد از ۲ روز لینک‌ها خودکار منقضی می‌شن

تجربه‌ای که برای کنترل و امنیت طراحی شده

  • چندزبانه کامل: فارسی، انگلیسی و… — همه پیام‌ها به زبان خودت
  • حالت Inline: توی هر چتی @Botbox_FileBot + لینک → نتیجه همونجا
  • بازگشت خودکار: بعد هر عملیات، به منوی اصلی برمی‌گرده
  • حفاظت از حریم خصوصی: فایل‌های آپلود شده فقط با لینک عمومی در دسترسه و بعد از ۲ روز حذف می‌شن

از دید یه دولوپر: چرا این پروژه متفاوته؟

این ربات رو طوری نوشتم که هم برای کاربر عادی ساده باشه، هم برای خودم به عنوان دولوپر قابل نگهداری و مقیاس‌پذیر.

معماری غیرهمزمان و دوگانه

  • python-telegram-bot با asyncio — مدیریت هزاران کاربر همزمان
  • Pyrogram برای آپلود فایل‌های بزرگ — دور زدن محدودیت ۵۰ مگابایت Bot API
  • ThreadPoolExecutor با دانلود موازی (۵ چانک) — استفاده بهینه از پهنای باند

دانلود هوشمند و مقاوم

  • تشخیص Range در هدر — دانلود موازی فقط وقتی ممکنه
  • requests با stream=True — کم‌مصرف و قابل کنترل
  • پیشرفت زنده با ProgressTracker — هر ۲ ثانیه آپدیت می‌شه، بدون اسپم

آپلود امن به FTP

  • paramiko + SFTP — انتقال امن و رمزنگاری شده
  • نام فایل یکتا با uuid — جلوگیری از تداخل
  • بررسی وجود فایل بعد از آپلود — اطمینان از موفقیت

دیتابیس هوشمند

  • SQLAlchemy با SQLite — مدیریت تراکنش‌ها بدون خطا
  • مدل‌های User و File — پیگیری کامل فعالیت‌ها
  • انقضای خودکار لینک‌ها — امنیت و تمیزی سرور

پیشرفت زنده و کاربرپسند

  • نوار پیشرفت با █ و ░
  • نمایش حجم، سرعت، زمان باقی‌مانده
  • مدیریت خطای Message not modified — بدون کرش

این ربات الان روی سرور لینوکس من با systemd داره ۲۴ ساعته کار می‌کنه.
اگه دنبال یه ربات قابل اعتماد برای دانلود و آپلود فایل با کنترل کامل و امنیت بالا هستی — این همونه.

لینک ربات: @botbox_uploaderbot
لینک بفرست یا فایل آپلود کن — بقیه‌ش با من.

اولین دیدگاه را بنویسید