ساخت دکمه شیشه ای در ربات تلگرام با پایتون (گامبهگام)
یاد بگیرید چگونه با استفاده از کتابخانه محبوب Telebot در پایتون، دکمههای شیشهای و تعاملی برای ربات تلگرام خود بسازید. این راهنما شامل مراحل نصب، پیادهسازی کد و مدیریت کلیک کاربران است.
- آموزش جامع ساخت دکمه شیشه ای ربات تلگرام با پایتون (Telebot)
- دکمه شیشه ای (Inline Keyboard) چیست و چه کاربردی دارد؟
- پیشنیازهای شروع کار با کتابخانه Telebot
- گام اول: نصب کتابخانه و راهاندازی اولیه ربات
- نحوه تعریف دکمه شیشه ای در پایتون
- استفاده از کلاس InlineKeyboardMarkup
- اضافه کردن دکمهها با InlineKeyboardButton
- ارسال دکمه شیشه ای به کاربر
- مدیریت کلیک بر روی دکمهها (Callback Query)
- تفاوت دکمههای معمولی (Reply) با دکمههای شیشهای (Inline)
- نکات پیشرفته در طراحی دکمههای تلگرامی
- جمعبندی
آموزش جامع ساخت دکمه شیشه ای ربات تلگرام با پایتون (Telebot)
در دنیای مدرن رباتهای تلگرامی، تجربه کاربری (UX) حرف اول را میزند. کاربران تمایل دارند به جای تایپ کردن دستورات متنی، با کلیک بر روی گزینههای بصری با ربات تعامل داشته باشند. ساخت دکمه شیشه ای ربات تلگرام با پایتون یکی از اساسیترین مهارتهایی است که هر توسعهدهنده ربات باید به آن مسلط باشد. در این مقاله، گامبهگام یاد میگیریم که چگونه با کتابخانه محبوب Telebot (که با نام pyTelegramBotAPI نیز شناخته میشود)، دکمههای حرفهای بسازیم.
دکمه شیشه ای (Inline Keyboard) چیست و چه کاربردی دارد؟
دکمههای شیشهای یا Inline Keyboards، دکمههایی هستند که به پیامهای ارسالی توسط ربات میچسبند. برخلاف دکمههای معمولی که در محل کیبورد گوشی جایگزین حروف میشوند، این دکمهها همراه با متن یا تصویر حرکت میکنند. از مهمترین کاربردهای این دکمهها میتوان به موارد زیر اشاره کرد:
- ایجاد لینکهای خروجی به وبسایتها.
- تغییر محتوای پیام فعلی بدون ارسال پیام جدید (ویرایش پیام).
- ساخت منوهای چندمرحلهای و بصری.
- اتصال به درگاههای پرداخت.
پیشنیازهای شروع کار با کتابخانه Telebot
قبل از شروع کدنویسی، مطمئن شوید که موارد زیر را آماده کردهاید:
- نصب پایتون (نسخه 3.7 به بالا).
- دریافت توکن ربات از BotFather در تلگرام.
- یک محیط ویرایش کد مانند VS Code یا PyCharm.
گام اول: نصب کتابخانه و راهاندازی اولیه ربات
برای شروع، باید کتابخانه مربوطه را از طریق ترمینال یا CMD نصب کنید:
pip install pyTelegramBotAPI
یا
pip install telebot
پس از نصب، یک فایل پایتونی (مثلاً bot.py) ایجاد کرده و کتابخانه را ایمپورت کنید:
import telebot
from telebot import types
TOKEN = 'YOUR_BOT_TOKEN_HERE'
bot = telebot.TeleBot(TOKEN)
نحوه تعریف دکمه شیشه ای در پایتون
برای ساخت دکمههای شیشهای، ما از دو کلاس اصلی در کتابخانه Telebot استفاده میکنیم: InlineKeyboardMarkup برای ایجاد بدنه کیبورد و InlineKeyboardButton برای تعریف هر دکمه به تنهایی.
استفاده از کلاس InlineKeyboardMarkup
این کلاس وظیفه نگهداری دکمهها را بر عهده دارد. شما میتوانید تعیین کنید که در هر ردیف چند دکمه قرار بگیرد.
اضافه کردن دکمهها با InlineKeyboardButton
هر دکمه میتواند چندین ویژگی داشته باشد، اما دو ویژگی مهم آن عبارتند از:
- text: متنی که کاربر روی دکمه میبیند.
- callback_data: دیتایی که پس از کلیک به سمت سرور فرستاده میشود (مخصوص عملیات داخلی).
- url: آدرس سایتی که کاربر با کلیک به آن هدایت میشود.
ارسال دکمه شیشه ای به کاربر
بیایید یک مثال عملی را بررسی کنیم. فرض کنید میخواهیم وقتی کاربر دستور start/ را میفرستد، دو دکمه “وبسایت ما” و “ارتباط با پشتیبانی” را مشاهده کند.
@bot.message_handler(commands=['start'])
def start_message(message):
markup = types.InlineKeyboardMarkup(row_width=2)
btn_site = types.InlineKeyboardButton("وبسایت ما", url="https://example.com")
btn_support = types.InlineKeyboardButton("پشتیبانی", callback_data="support_call")
markup.add(btn_site, btn_support)
bot.send_message(message.chat.id, "خوش آمدید! یک گزینه را انتخاب کنید:", reply_markup=markup)
bot.polling()
مدیریت کلیک بر روی دکمهها (Callback Query)
وقتی کاربر روی دکمهای کلیک میکند که دارای callback_data است، هیچ پیامی در چت ارسال نمیشود؛ بلکه یک درخواست پسزمینه به ربات ارسال میگردد. برای پاسخ دادن به این کلیکها، از دکوریتور bot.callback_query_handler@ استفاده میکنیم.
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.data == "support_call":
bot.answer_callback_query(call.id, "در حال اتصال به پشتیبانی...")
bot.send_message(call.message.chat.id, "لطفاً پیام خود را بگذارید.")
استفاده از answer_callback_query بسیار مهم است؛ زیرا باعث میشود علامت “در حال بارگذاری” در بالای گوشی کاربر ناپدید شود.
تفاوت دکمههای معمولی (Reply) با دکمههای شیشهای (Inline)
یکی از سوالات متداول برنامه نویسان مبتدی، تفاوت این دو نوع دکمه است:
- دکمههای Reply: فقط متن ارسال میکنند و در جای کیبورد گوشی قرار میگیرند.
- دکمههای Inline: منعطفتر هستند، اجازه ویرایش پیام قبلی را میدهند و میتوانند حاوی لینک یا دیتای مخفی باشند.
نکات پیشرفته در طراحی دکمههای تلگرامی
برای داشتن یک ربات حرفهای، به این نکات توجه کنید:
- چینش دکمهها: از متد row برای چیدمان دقیق دکمهها در ردیفهای مختلف استفاده کنید.
- استفاده از ایموجی: استفاده از ایموجی در متن دکمهها (Property text) جذابیت بصری ربات را دوچندان میکند.
- امنیت callback_data: هرگز اطلاعات حساس را در دیتای دکمه قرار ندهید، زیرا این دیتا توسط کلاینتهای غیررسمی قابل مشاهده است.
جمعبندی
ساخت دکمه شیشه ای ربات تلگرام با پایتون نه تنها باعث زیبایی ربات شما میشود، بلکه تعامل کاربر با سیستم را بسیار سادهتر میکند. کتابخانه Telebot با ارائه ابزارهای ساده، این فرآیند را برای مبتدیان بسیار لذتبخش کرده است. با تمرین بر روی callback_data و مدیریت صحیح وضعیتها، میتوانید رباتهایی بسازید که از نظر کارایی با اپلیکیشنهای موبایل رقابت کنند.
آخرین مقالات
ساخت دکمه شیشه ای در ربات تلگرام با پایتون (گامبهگام)
یاد بگیرید چگونه با استفاده از کتابخانه محبوب Telebot در پایتون، دکمههای شیشهای و تعاملی برای ربات تلگرام خود بسازید. این راهنما شامل مراحل نصب، پیادهسازی کد و مدیریت کلیک کاربران است. فهرست مطالب ▼ آموزش جامع ساخت دکمه شیشه...