آموزش جامع ساخت ربات تلگرام با پایتون | اضافه کردن قابلیتهای بیشتر
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
دستورات کاربر و مدیریت آنها
در این بخش، یاد میگیرید چگونه دستورات کاربر را در ربات تلگرام مدیریت کنید. دستورات معمولاً با علامت / شروع میشوند (مثل /start یا /help) و میتوانید برای هر کدام پاسخ خاصی تعریف کنید.
1. تعریف دستورات ساده
برای تشخیص دستورات، از CommandHandler در کتابخانه python-telegram-bot استفاده میکنیم. مثال:
from telegram.ext import CommandHandler, Updater
def start(update, context):
update.message.reply_text("سلام! به ربات من خوش آمدید.")
updater = Updater("TOKEN", use_context=True)
dispatcher = updater.dispatcher
# اضافه کردن هندلر برای دستور /start
dispatcher.add_handler(CommandHandler("start", start))
updater.start_polling()
در این مثال، هر زمان کاربر /start را ارسال کند، ربات پیام خوشآمدگویی را نمایش میدهد.
2. مدیریت چندین دستور
میتوانید برای هر دستور یک تابع جداگانه تعریف کنید و آنها را به Dispatcher اضافه کنید:
def help(update, context):
update.message.reply_text("راهنمای ربات: /start - شروع کار")
dispatcher.add_handler(CommandHandler("help", help))
3. ارسال پارامتر با دستورات
گاهی کاربران مقادیری را همراه دستور ارسال میکنند (مثلاً /search کتاب). برای دریافت این مقادیر از context.args استفاده میکنیم:
def search(update, context):
query = " ".join(context.args) # دریافت متن بعد از دستور
update.message.reply_text(f"در حال جستجو برای: {query}")
dispatcher.add_handler(CommandHandler("search", search))
4. اعتبارسنجی دستورات
ممکن است بخواهید بررسی کنید که کاربر دستور را به درستی وارد کرده است:
def calc(update, context):
if len(context.args) != 2:
update.message.reply_text("فرمت صحیح: /calc عدد1 عدد2")
return
num1 = float(context.args[0])
num2 = float(context.args[1])
update.message.reply_text(f"نتیجه: {num1 + num2}")
dispatcher.add_handler(CommandHandler("calc", calc))
با این روش، میتوانید رباتی هوشمندتر بسازید که به دستورات کاربران به درستی پاسخ دهد.
برای ثبت پرسش ابتدا در سایت وارد شوید.