شما میتوانید با استفاده از کتابخانه python-telegram-bot دکمهها و منوهای شخصیسازی شده را در تلگرام ایجاد کنید.
برای ساخت دکمهها و منوهای شخصیسازی شده، ابتدا باید از کلاسهای ReplyKeyboardMarkup و KeyboardButton کتابخانه python-telegram-bot استفاده کنید.
مثال زیر نحوه ساخت یک دکمه ساده و ارسال آن در یک پیام را نشان میدهد:
from telegram import Bot, Update, ReplyKeyboardMarkup, KeyboardButton
# ایجاد یک نمونه از کلاس Bot با استفاده از توکن API
bot = Bot(token='YOUR_TOKEN') # شناسه گفتوگو chat_id = '123456789'
# ساخت دکمه
button = KeyboardButton('Click me!')
# ساخت منو و اضافه کردن دکمه به منو
keyboard = ReplyKeyboardMarkup([[button]])
# ارسال پیام با منو حاوی دکمه
bot.send_message(chat_id=chat_id, text='Hello, world!', reply_markup=keyboard)
در این مثال، یک دکمه با متن "Click me!" ایجاد شده است و سپس در قالب یک منو قرار میگیرد. منو و دکمه در نهایت به تابع send_message به عنوان پارامتر reply_markup ارسال میشوند.
البته این فقط یک نمونه از ساخت دکمه ساده و ارسال آن در یک پیام است. برای ساخت منوهای شخصیسازی شده با دکمهها، میتوانید از کلاس InlineKeyboardButton و کلاس InlineKeyboardMarkup کتابخانه python-telegram-bot استفاده کنید.
مثال زیر نحوه ساخت یک منو با دو دکمه شخصیسازی شده را نشان میدهد:
from telegram import Bot, Update, InlineKeyboardButton, InlineKeyboardMarkup
# ایجاد یک نمونه از کلاس Bot با استفاده از توکن API
bot = Bot(token='YOUR_TOKEN') # شناسه گفتوگو chat_id = '123456789'
# ساخت دکمهها
button1 = InlineKeyboardButton(text='Button 1', callback_data='button1_clicked') button2 = InlineKeyboardButton(text='Button 2', callback_data='button2_clicked')
# ساخت منو و اضافه کردن دکمهها به منو
keyboard = InlineKeyboardMarkup([[button1], [button2]])
# ارسال پیام با منو حاوی دکمهها
bot.send_message(chat_id=chat_id, text='Hello, world!', reply_markup=keyboard)
در این مثال، دو دکمه با متنهای "Button 1" و "Button 2" ایجاد شده و در قالب یک منو قرار میگیرند. منو و دکمهها در نهایت به تابع send_message به عنوان پارامتر reply_markup ارسال میشوند.
با استفاده از callback_data، میتوانید هر دکمه را با یک شناسه خاص مشخص کنید تا هنگامی که کاربر روی دکمه کلیک میکند، اطلاعات این شناسه به شما ارسال شود.
در مثال قبل، نحوه ساخت یک دکمه ساده و ارسال آن در یک پیام را نشان دادیم. البته این تنها یک نمونه ساده بود و شما میتوانید منوهای شخصیسازی شده بسازید.
برای ساخت منوهای شخصیسازی شده، میتوانید از کلاسهای ReplyKeyboardMarkup و KeyboardButton استفاده کنید. این کلاسها به شما اجازه میدهند دکمهها و منوهایی با سبک و ظاهر دلخواه بسازید.
مثال زیر نحوه ساخت یک منو با چندین دکمه را نشان میدهد:
from telegram import Bot, Update, ReplyKeyboardMarkup, KeyboardButton
# ایجاد یک نمونه از کلاس Bot با استفاده از توکن API
bot = Bot(token='YOUR_TOKEN') # شناسه گفتوگو chat_id = '123456789'
# ساخت دکمهها
button1 = KeyboardButton('Button 1') button2 = KeyboardButton('Button 2') button3 = KeyboardButton('Button 3') button4 = KeyboardButton('Button 4')
# ساخت منو و اضافه کردن دکمهها به منو
keyboard = ReplyKeyboardMarkup([[button1, button2], [button3, button4]])
# ارسال پیام با منو حاوی دکمهها
bot.send_message(chat_id=chat_id, text='Choose an option:', reply_markup=keyboard)
در این مثال، یک منو با چهار دکمه "Button 1"، "Button 2"، "Button 3" و "Button 4" ساخته شده است. منو و دکمهها در نهایت به تابع send_message با استفاده از پارامتر reply_markup ارسال میشوند.
منبع: سایت مستندات فارسی