باتباکس کانورتر: یه ربات حرفهای تبدیل واحد و تاریخ برای تلگرام
توی دنیای امروز که همه چیز به هم وصله، هر روز با انواع سیستمهای اندازهگیری سر و کار داریم. از برنامهریزی برای یه سفر خارجی گرفته تا درست کردن یه غذای جدید با یه دستورالعمل خارجی. اینکه بخوایم برای هر تبدیل ساده، هی از یه برنامه به برنامه دیگه بپریم یا یه تب جدید توی مرورگر باز کنیم، یه کار تکراری و وقتگیره که حسابی کلافهمون میکنه. ربات باتباکس کانورتر دقیقاً برای همین مشکل ساخته شده؛ یه ابزار تبدیل سریع، هوشمند و کامل که مستقیم توی تلگرام در دسترس شماست.
این پروژه فقط یه ربات تبدیل واحد ساده نیست؛ یه نمونه عالی از یه مهندسی نرمافزاری قوی، تجربه کاربری فکرشده و یه ساختار مقیاسپذیر و چندزبانه است. این ربات طوری طراحی شده که هم یه ابزار قابل اعتماد برای استفاده روزمره باشه و هم یه پروژه نمونه برای توسعه رباتهای مدرن.
مروری بر پروژه
| بخش | جزئیات |
| اسم پروژه | باتباکس کانورتر (Botbox Converter) |
| پلتفرم | تلگرام |
| وضعیت | ✅ فعال و در دسترس |
| دموی زنده | Botbox Converter را امتحان کنید |
| ویژگیهای اصلی | رابط کاربری چندزبانه، دو حالت تعاملی، تبدیل تاریخ پیشرفته (شمسی، میلادی، قمری) |
| تکنولوژی اصلی | پایتون 3 |
| کتابخانههای کلیدی | python-telegram-bot, jdatetime, hijri-converter, python-dotenv |
| پایگاه داده | اطلاعات کاربر (مثل زبان انتخابی) به صورت پایدار توی یه فایل JSON سبک ذخیره میشه. |
| نحوه استقرار | روی سرور لینوکس و به عنوان یه سرویس systemd اجرا شده تا همیشه آنلاین باشه و در صورت نیاز خودکار راهاندازی بشه. |
همدم تبدیل واحد روزمره شما
باتباکس کانورتر طوری طراحی شده که بیشتر شبیه یه دستیار دانا باشه تا یه برنامه خشک و بیروح. سریع، کاربردی و پر از امکاناتیه که اون رو به یه ابزار ضروری برای هر کاربر تلگرام تبدیل میکنه.
همه جور تبدیل واحد دم دست شماست
چرا توی گوگل و سایتها دنبال جواب بگردید وقتی میتونید توی چتتون جواب رو بگیرید؟ این ربات کلی واحد مختلف رو توی دستهبندیهای گوناگون پشتیبانی میکنه و برای هر کاری آماده است.
- 📏 طول و مساحت: از کیلومتر به مایل، یا متر مربع به هکتار.
- ⚖️ وزن و حجم: از گرم به پوند، یا لیتر به گالن. حتی واحدهای سنتی مثل مثقال هم برای کالاهای ارزشمند پشتیبانی میشه.
- 💾 دادههای دیجیتال: تبدیل کیلوبایت (KB) به کیبیبایت (KiB)، مگابیت به مگابایت و کلی تبدیل دیگه.
- ⚡️ مهندسی و علمی: پشتیبانی کامل از تبدیلهای مربوط به سرعت، فشار، انرژی، توان و زمان.
یه تبدیلکننده تاریخ در کلاس جهانی
اینجاست که باتباکس کانورتر واقعاً خودشو نشون میده. دیگه نیازی نیست با سیستمهای تقویمی مختلف دست و پنجه نرم کنید و برای خیلیها یه ابزار حیاتیه.
- پشتیبانی سهگانه از تقویمها: تبدیل بدون دردسر بین تقویم شمسی (جلالی)، میلادی و قمری.
- فهم هوشمند، مثل آدمها: ربات تاریخ رو همونطوری که شما مینویسید، میفهمه. میتونید بنویسید ۱۶ شهریور ۱۳۷۱،
july 10, 2025،1371/06/16یا حتی فقط کلمه امروز. ربات تاریخ صحیح رو پیدا میکنه و فوراً تبدیلش میکنه. این ویژگی اون رو به یکی از کاربردیترین ابزارها برای تبدیل شمسی به میلادی تبدیل کرده.
تجربهای که برای همه طراحی شده
یه ابزار قدرتمند فقط وقتی عالیه که استفاده ازش راحت باشه. تجربه کاربری اولویت اصلی ما بود و نتیجهاش رباتی شده که هم به درد تازهکارها میخوره و هم حرفهایها.
- دو حالت تعاملی:
- حالت سریع (Inline): برای سرعت، کافیه درخواستتون رو به زبان عادی تایپ کنید (مثلاً
10 kg to lbs). - حالت مرحلهبهمرحله (Guided): برای دقت بیشتر، از دکمه “تبدیل سریع” استفاده کنید تا گامبهگام راهنمایی بشید.
- حالت سریع (Inline): برای سرعت، کافیه درخواستتون رو به زبان عادی تایپ کنید (مثلاً
- چندزبانه واقعی: واحدها هم با نماد جهانیشون نمایش داده میشن و هم با اسم کاملشون به زبان انتخابی شما (مثلاً
kg - کیلوگرمیاkg - Kilogram) تا هیچ ابهامی نمونه. - نتایج چشمنواز: تبدیلها توی یه فرمت ساده و خوانا با استفاده از ایموجی، بُلد کردن و فاصلهگذاری مناسب نمایش داده میشن تا اطلاعات در یک نگاه واضح باشه.
معماری فنی و نکات توسعه
فارغ از امکانات کاربرپسند، باتباکس کانورتر روی یه زیرساخت تمیز، مقیاسپذیر و حرفهای ساخته شده.
هسته پایتون ماژولار و حالتدار
ربات با پایتون ۳ توسعه داده شده و از یه معماری ماژولار استفاده میکنه که باعث میشه کد تمیز و قابل نگهداری باشه. منطق برنامه به بستههای مجزا تقسیم شده:
handlers: همه تعاملات با API تلگرام رو مدیریت میکنه؛ مثل دستورات، پیامها و دکمهها.utils: «مغز» اصلی برنامه اینجاست؛ موتور تبدیل، تحلیلگر تاریخ، ارتباط با پایگاه داده و مدیریت چندزبانگی (i18n).locales: فایلهای JSON ترجمهها اینجا قرار دارن، که اضافه کردن یه زبان جدید رو بدون دستکاری کد اصلی خیلی راحت میکنه.
برخلاف رباتهای ساده که اطلاعات رو ذخیره نمیکنند، این پروژه از یه پایگاه داده JSON سبک برای ذخیره اطلاعات خاص هر کاربر (مثل زبان انتخابی) استفاده میکنه. این باعث میشه تجربه کاربری شخصیسازی بشه و ربات شما رو توی جلسات بعدی به یاد بیاره.
مدیریت قوی تعامل و وضعیت کاربر
برای مدیریت مکالمههای چندمرحلهای، ربات از ConversationHandler کتابخانه python-telegram-bot استفاده میکنه. این قابلیت توی پنل مدیریتی امن و محافظتشده با رمز عبور کاملاً مشخصه، جایی که تعاملاتی مثل شروع یک پیام گروهی، ارسال محتوای پیام و انتخاب مخاطبین به صورت مرحلهای انجام میشه. برای کارهای سادهتر مثل تبدیل واحد مرحلهای، ربات از user_data استفاده میکنه تا روند کاربر رو دنبال کنه.
استقرار پایدار در سرور
یه ربات توی پورتفولیو باید نشون بده که برای محیط واقعی آماده است. باتباکس کانورتر روی سرور لینوکس و با استفاده از systemd که یه سیستم استاندارد صنعتیه، مدیریت میشه. فایل سرویس سفارشی تضمین میکنه:
- راهاندازی خودکار: ربات موقع روشن شدن سرور به صورت خودکار شروع به کار میکنه.
- آپتایم مستمر: سرویس طوری تنظیم شده که اگه به هر دلیلی مشکلی پیش بیاد، خودکار دوباره راهاندازی بشه.
- اجرا در پسزمینه: ربات توی پسزمینه اجرا میشه و خروجیهای اون توسط
journalctlمدیریت و ثبت میشه تا مانیتورینگ و رفع خطا راحت باشه.
این پروژه مجموعه کاملی از مهارتها رو به نمایش میذاره؛ از منطق بکاند و مدیریت پایگاه داده گرفته تا طراحی تجربه کاربری و استقرار در سطح یک محصول واقعی.


