| کانال ربات تلگرام |
1.01K subscribers
3 photos
5 links
⭕️ کانال توسعه‌دهندگان ربات تلگرام دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
الگوی Command برای هندلرهای ربات تلگرام — سازماندهی دستورات

الگوی Command یکی از ساده‌ترین و کاربردی‌ترین راه‌ها برای جداسازی منطق هر دستور در ربات تلگرام است. به جای نوشتن یک تابع بزرگ که همه دستورات را هندل می‌کند، برای هر دستور یک کلاس یا شیء مجزا تعریف می‌کنیم که تنها مسئول اجرای آن دستور باشد. این کار خوانایی، تست‌پذیری و گسترش‌پذیری پروژه را به‌طور چشمگیر بالا می‌برد.

مثال ساده در پایتون برای درک بهتر:
class Command:
def execute(self, update, context):
raise NotImplementedError

class StartCommand(Command):
def execute(self, update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="سلام! خوش آمدید.")

class HelpCommand(Command):
def execute(self, update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="لیست دستورات: /start, /help")

router = {
'/start': StartCommand(),
'/help': HelpCommand(),
}

def handle_update(update, context):
text = update.message.text.split()[0]
cmd = router.get(text)
if cmd:
cmd.execute(update, context)


چند نکته عملی:
- Single Responsibility: هر کلاس فقط یک کار انجام می‌دهد (SRP از اصول SOLID).
- تست‌پذیری: می‌توان هر Command را جداگانه unit-test کرد بدون نیاز به بوت‌استرپ کل بات.
- گسترش‌پذیری: اضافه کردن دستور جدید فقط اضافه کردن یک کلاس و ثبت آن در router است.
- Middleware: اگر نیاز به لاگ یا اعتبارسنجی باشد، می‌توان لایه‌ای بین handle_update و اجرای Command قرار داد یا یک Decorator برای Commandها نوشت.

الگوی Command مخصوصاً وقتی تعداد دستورات زیاد است یا هر دستور منطق پیچیده‌ای دارد، مزیت دارد. با این ساختار نگهداری و توسعه ربات‌های تلگرام ساده‌تر و مرتب‌تر خواهد شد.

🔖 #TelegramBot #ربات #تلگرام #design_patterns #command_pattern #telegram_bot #python #clean_code

👤 Developix

💎 Channel: @DevelopixRobot
👍7👎1