مستر پای وب

توسعه وب‌سایت، وب‌اپلیکیشن و سیستم‌های سازمانی
بازگشت به نمونه‌کارها
فوروارد بات - سامانه مدیریت پیام‌های تلگرام

فوروارد بات - سامانه مدیریت پیام‌های تلگرام

فوروارد بات یک سامانه جامع مدیریت پیام‌های تلگرام است که با استفاده از فریم‌ورک جنگو (Django 5.2) و کتابخانه aiogram طراحی و پیاده‌سازی شده است. این پروژه امکان ارسال پیام همگانی به کاربران و گروه‌های تلگرام، مدیریت لین…

Overview

درباره پروژه

فوروارد بات یک سامانه جامع مدیریت پیام‌های تلگرام است که با استفاده از فریم‌ورک جنگو (Django 5.2) و کتابخانه aiogram طراحی و پیاده‌سازی شده است. این پروژه امکان ارسال پیام همگانی به کاربران و گروه‌های تلگرام، مدیریت لینک کانال‌ها، ذخیره خودکار اطلاعات کاربران هنگام استارت بات و مدیریت پروفایل کاربران تلگرامی را فراهم می‌کند. سامانه دارای پنل مدیریتی اختصاصی با سیستم احراز هویت دو مرحله‌ای (2FA) و مدیریت روابط با مشتریان (CRM) می‌باشد. بات تلگرام به صورت همزمان با سرور جنگو در یک ترد جداگانه اجرا می‌شود و پیام‌ها با فاصله زمانی مشخص ارسال می‌شوند تا از محدودیت‌های تلگرام جلوگیری شود.

Case Study

مطالعه موردی پروژه

چالش‌ها، راهکارها، دستاوردها، نکات فنی، معماری و مقیاس پروژه

⚡

چالش‌ها

- نیاز به ارسال پیام همگانی به تعداد زیادی از کاربران تلگرام بدون مسدود شدن بات
- مدیریت محدودیت‌های ارسال پیام تلگرام (Rate Limit)
- اجرای همزمان بات تلگرام و سرور جنگو در یک پروژه واحد
- ذخیره خودکار اطلاعات کاربران هنگام استارت بات
- نیاز به سیستم احراز هویت دو مرحله‌ای برای پنل مدیریتی
- مدیریت لینک کانال‌ها و گروه‌ها به صورت پویا
- ارسال تصویر و متن به صورت همزمان به کاربران و گروه‌ها
- یکپارچه‌سازی سیستم CRM با بات تلگرام

💡

راه‌حل‌ها

- استفاده از aiogram برای مدیریت بات تلگرام به صورت async
- اجرای بات در یک ترد جداگانه با AppsConfig.ready()
- ذخیره chat_id و username کاربران در مدل Users_link با get_or_create
- پیاده‌سازی ارسال پس‌زمینه با asyncio و threading
- استفاده از فاصله زمانی ۵ ثانیه بین ارسال‌ها برای جلوگیری از محدودیت
- پیاده‌سازی سیستم 2FA با pyotp برای امنیت بیشتر
- استفاده از CustomUser سفارشی برای ذخیره اطلاعات تلگرام
- پیاده‌سازی پنل ادمین با فرم‌های ساده HTML
- استفاده از persiantools برای نمایش تاریخ شمسی

📚

دستاوردها

- سامانه کامل مدیریت پیام‌های تلگرام
- ارسال همگانی به کاربران و گروه‌ها با مدیریت Rate Limit
- ذخیره خودکار کاربران در اولین تعامل با بات
- پنل مدیریتی امن با 2FA
- یکپارچه‌سازی موفق بات تلگرام با جنگو
- پشتیبانی از ارسال تصویر و متن
- سیستم CRM کامل برای مدیریت کاربران

🔧

نکات فنی برجسته

- Django 5.2.6 و Python 3
- پایگاه داده MySQL با pymysql
- aiogram 3.28 برای بات تلگرام (async)
- python-telegram-bot 22.3 به عنوان پشتیبان
- Django REST Framework 3.16 برای API
- django-filter برای فیلتر داده‌ها
- django-environ و python-decouple برای مدیریت تنظیمات
- pyotp برای احراز هویت دو مرحله‌ای
- persiantools برای تاریخ شمسی
- اجرای بات در ترد جداگانه با AppsConfig
- مدیریت Rate Limit تلگرام با فاصله ۵ ثانیه
- CustomUser سفارشی برای ذخیره telegram_id و chat_id
- پیاده‌سازی 2FA با TOTP

🏗️

معماری پروژه

پروژه فوروارد بات بر پایه معماری MVT (Model-View-Template) جنگو ساخته شده و از دو اپلیکیشن اصلی تشکیل شده است:

۱. crm: مسئول مدیریت کاربران، لینک‌ها و پنل ادمین
- مدل CustomUser سفارشی با telegram_id, telegram_username, phone_number
- مدل Chanel_link برای ذخیره لینک کانال‌ها
- مدل Users_link برای ذخیره chat_id کاربران
- ویوهای login_view, sendmassage, sendgroupmessage
- ویوهای group_links, users_link برای مدیریت لینک‌ها

۲. telegram_bot: مسئول اجرای بات تلگرام
- فایل bot.py با aiogram Dispatcher
- AppsConfig.ready() برای اجرای بات در ترد جداگانه
- مدل BroadcastMessage برای ذخیره پیام‌های همگانی
- مدل TrainingVideo برای ویدیوهای آموزشی
- هندلر /start برای ذخیره خودکار کاربران

پروژه در حالت DEBUG اجرا می‌شود و از SQLite برای توسعه و MySQL برای تولید استفاده می‌کند.

📐

مقیاس پروژه

- ۲ اپلیکیشن اصلی (crm, telegram_bot)
- ۵ مدل داده‌ای اصلی
- سیستم بات تلگرام با aiogram
- پنل ادمین اختصاصی
- سیستم 2FA
- ارسال همگانی به کاربران و گروه‌ها
- مدیریت لینک کانال‌ها
- CustomUser سفارشی
- یکپارچه‌سازی async/threading

Stack

تکنولوژی‌ها

Django HTML/CSS JavaScript Python
Categories

دسته‌بندی‌ها

سیستم اتوماسیون اداری سیستم CRM
Industry

حوزه کسب‌وکار

فناوری اطلاعات و ارتباطات
Scope

حوزه فعالیت

توسعه بات‌های تلگرام و سیستم‌های CRM
Statistics

آمار پروژه

8
👁️ بازدید
0
❤️ لایک
0
⬇️ دانلود
0
⭐ امتیاز
Metrics

آمارهای سفارشی

شاخص‌های کلیدی عملکرد پروژه

5 تعداد مدل‌های داده
2 تعداد اپلیکیشن‌ها
Team

اعضای تیم پروژه

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

حسن کاظمی
حسن کاظمی
توسعه‌دهنده Full Stack

پروژه مشابهی در ذهن دارید؟

اگر برای توسعه یک وب‌سایت، CRM، ERP یا سیستم اختصاصی نیاز به همکاری دارید، خوشحال می‌شوم درباره پروژه شما صحبت کنیم.

شروع یک پروژه