تلگرام یه فضای ذخیره سازی فوق العاده در اختیار کاربرها میذاره. فایلها همیشه قابل دسترس هستند و محدودیت حجمی هم نداریم! فکر کن به جای ۱۵ گیگ که گوگل درایو میده، اینجا نامحدود فضا داریم. ولی مشکل اینه که تو ایران به خاطر سرعت اپلود پایین، ارسال فایل به تلگرام یه چالشه. این ربات رو ساختم که خیلی راحت، لینک مستقیم رو بهش بدیم، اونو دانلود کنه و فایلش رو تو تلگرام تحویل بده. از سمت دیگه، اگه هم سرعت دانلود از تلگرام به خاطر فیلترینگ پایین بود، میتونیم فایل تلگرامی رو بهش بدیم، اونو تو سرور آپلود کنه و لینک دانلود مستقیم بده تا خیلی راحت با حداکثر سرعت دانلودش کنیم! خلاصه که، این ربات رو ساختم تا همه این مشکلات رو حل کنه.
خلاصهای از پروژه
| دسته | جزئیات |
|---|---|
| نام پروژه | ربات آپلود و دانلود فایل |
| پلتفرم | تلگرام |
| وضعیت | فعال و ۲۴ ساعته |
| تکنولوژیهای اصلی | پایتون ۳، 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
لینک بفرست یا فایل آپلود کن — بقیهش با من.


