ezzati-code
ezzati-code
خواندن ۳ دقیقه·۱۰ ماه پیش

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

شما می‌توانید با استفاده از کتابخانه 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 ارسال می‌شوند.

منبع: سایت مستندات فارسی

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