مستر پای وب

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

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

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

Overview

درباره پروژه

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

Case Study

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

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

⚡

چالش‌ها

- نیاز به فوروارد خودکار پیام‌ها از چندین گروه مبدا به چندین گروه مقصد
- دریافت خودکار chat_id گروه‌ها از تلگرام بدون دخالت دستی
- مدیریت محدودیت‌های ارسال پیام تلگرام و جلوگیری از مسدود شدن بات
- فیلتر محتوای نامناسب با استفاده از لیست کلمات ممنوعه
- افزودن خودکار امضای مدیر به ابتدای هر پیام
- پشتیبانی از انواع محتوا (متن، عکس، فایل)
- مدیریت فعال/غیرفعال کردن گروه‌های مقصد به صورت پویا
- یکپارچه‌سازی بات aiogram با جنگو در یک پروژه واحد
- محدودیت تعداد گروه‌های مبدا برای جلوگیری از سوء استفاده

💡

راه‌حل‌ها

- استفاده از aiogram برای مدیریت بات به صورت async
- اجرای بات در thread جداگانه با AppsConfig.ready()
- پیاده‌سازی متد resolve_chat_id برای دریافت خودکار chat_id از API تلگرام
- فیلتر کلمات ممنوعه قبل از فوروارد با مدل Forbidden_words
- افزودن خودکار امضا با متد replace_or_add_id
- پشتیبانی از انواع محتوا با تشخیص نوع پیام (text/photo/document)
- پیاده‌سازی toggle برای فعال/غیرفعال کردن گروه‌های مقصد
- استفاده از socks5 proxy برای دور زدن محدودیت‌ها
- محدودیت ۱۰ گروه مبدا با شرط chanels.count() < 10
- استفاده از sync_to_async برای تعامل امن با دیتابیس جنگو

📚

دستاوردها

- سامانه کامل فوروارد خودکار پیام تلگرام
- پشتیبانی از چندین گروه مبدا و مقصد
- فیلتر هوشمند کلمات ممنوعه
- افزودن خودکار امضای مدیر
- پشتیبانی از متن، عکس و فایل
- مدیریت پویا با فعال/غیرفعال کردن
- پنل مدیریتی امن
- یکپارچه‌سازی موفق بات aiogram با جنگو
- پشتیبانی از پروکسی SOCKS5

🔧

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

- Django 5.2.6 و Python 3
- پایگاه داده MySQL با pymysql
- aiogram 3.28 برای بات تلگرام (async)
- Django REST Framework 3.16 برای API
- django-filter برای فیلتر داده‌ها
- pyotp برای احراز هویت دو مرحله‌ای
- persiantools برای تاریخ شمسی
- اجرای بات در thread جداگانه
- دریافت خودکار chat_id با API تلگرام
- پشتیبانی از پروکسی SOCKS5 (aiohttp_socks)
- sync_to_async برای تعامل امن با ORM
- مدیریت کلمات ممنوعه
- افزودن خودکار امضا به پیام‌ها
- پشتیبانی از متن، عکس و document

🏗️

معماری پروژه

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

۱. crm: مسئول مدیریت لینک‌ها، کاربران و پنل ادمین
- مدل CustomUser سفارشی
- مدل Target_chanel_link برای گروه‌های مقصد
- مدل Origin_chanel_link برای گروه‌های مبدا
- مدل Forbidden_words برای کلمات ممنوعه
- مدل My_telegram_id برای آیدی مدیر
- ویوهای group_links, origin_group, forbidden_words, set_my_telegram_id

۲. telegram_bot: مسئول اجرای بات تلگرام
- فایل bot.py با aiogram Dispatcher
- AppsConfig.ready() برای اجرای بات در thread
- هندلر forward_handler برای پیام‌های گروه
- هندلر channel_post_handler برای پیام‌های کانال
- متد forward_to_targets برای فوروارد به گروه‌های مقصد
- مدل BroadcastMessage و TrainingVideo

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

📐

مقیاس پروژه

- ۲ اپلیکیشن اصلی (crm, telegram_bot)
- ۷ مدل داده‌ای اصلی
- سیستم فوروارد خودکار پیام
- پنل ادمین اختصاصی
- فیلتر کلمات ممنوعه
- مدیریت لینک گروه‌های مبدا و مقصد
- پشتیبانی از پروکسی SOCKS5
- CustomUser سفارشی
- یکپارچه‌سازی async/threading
- محدودیت ۱۰ گروه مبدا

Stack

تکنولوژی‌ها

Django HTML/CSS JavaScript Python
Categories

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

پنل مدیریتی / داشبورد سیستم اتوماسیون اداری
Industry

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

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

حوزه فعالیت

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

آمار پروژه

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

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

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

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

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

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

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

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

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

شروع یک پروژه