TGViewer
| کانال ربات تلگرام | | کانال ربات تلگرام | @developixrobot · 1.24K subscribers
Post #26 838
🚀 ساخت ربات تلگرام با دکمه‌های شیشه‌ای (Inline Keyboard) با Python

یه قابلیت خیلی کاربردی تو Telegram Bot اینه که کاربر لازم نیست چیزی تایپ کنه؛ فقط با زدن دکمه کار انجام می‌شه. دقیقاً همون inline keyboard‌هایی که زیر پیام ظاهر می‌شن ✅

توی این پست، با هم یه ربات ساده می‌سازیم که:

• با دستور /start یه پیام می‌فرسته
• زیرش دو تا دکمه شیشه‌ای نشون می‌ده
• روی هر دکمه کلیک بشه، جواب جداگانه برمی‌گردونه

این مثال بر اساس کتابخونه‌ی رسمی و محبوب python-telegram-bot نسخه ۲۰ به بالاست و می‌تونی داک رسمی‌ش رو اینجا ببینی:
docs.python-telegram-bot.org

اول کتابخونه رو نصب کن:
pip install python-telegram-bot --upgrade


تو کد پایین فقط کافیه BOT_TOKEN خودت رو از @BotFather بذاری و اجرا کنی. ربات روی long polling کار می‌کنه و نیاز به سرور https یا webhook نداره، برای شروع فوق‌العاده‌ست 👇

from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import (
ApplicationBuilder,
CommandHandler,
CallbackQueryHandler,
ContextTypes,
)

BOT_TOKEN = "YOUR_BOT_TOKEN_HERE"

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
keyboard = [
[
InlineKeyboardButton("📊 وضعیت سرور", callback_data="status"),
InlineKeyboardButton("ℹ️ درباره ربات", callback_data="about"),
]
]
reply_markup = InlineKeyboardMarkup(keyboard)

await update.message.reply_text(
"سلام 👋\nیکی از گزینه‌های زیر رو انتخاب کن:",
reply_markup=reply_markup,
)

async def button_handler(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()

if query.data == "status":
text = "سرور الان آنلاینه ✅\nCPU: 23% | RAM: 58%"
elif query.data == "about":
text = "این یه ربات نمونه با inline keyboard هست 🤖"
else:
text = "گزینه نامعتبر" # حالت پیش‌فرض

await query.edit_message_text(text)

if __name__ == "__main__":
app = ApplicationBuilder().token(BOT_TOKEN).build()

app.add_handler(CommandHandler("start", start))
app.add_handler(CallbackQueryHandler(button_handler))

app.run_polling()


چند نکته ریز ولی مهم 👇

• حتماً تو نسخه‌های جدید باید از async/await استفاده کنی، مثل کد بالا.
• callback_data بهتره کوتاه، بدون space و قابل پارس کردن باشه (مثلاً user:123 یا cmd:stats).
• به جای reply_text می‌تونی بعداً از edit_message_text تو خود دستور /start هم استفاده کنی تا ربات شبیه منوهای چند مرحله‌ای بشه.

این ساختار پایه بعداً راحت به Database، سیستم تیکت، فرم ثبت سفارش یا پنل ادمین در خود تلگرام وصل می‌شه 🙌

امتحانش کن، یه ربات بساز و به یه دوست برنامه‌نویس هم بفرست تا با هم توسعه‌ش بدین 🤝

🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #Python #Inline_Keyboard #Long_Polling #python_telegram_bot

👤 Developix

💎 Channel: @DevelopixRobot
  • 👍 3
More from @developixrobot
  1. Sep 18, 2026🔥 پروژه: پچ‌رایت؛ Playwright کم‌تر قابل‌ردیابی پچ‌رایت یک فورک از کتابخانهٔ Playwright بر…
  2. Sep 16, 2026🚀 ‏LaraGram Brain منتشر شد! از این به بعد برای ساخت ربات‌های تلگرام با فریم‌ورک LaraG…
  3. Sep 1, 2026خیلی وقت‌ها ربات لینک می‌فرستد، اما پیش‌نمایش بزرگ صفحه کل کل چت را شلوغ می‌کند 😅 مخصوصاً…
  4. Aug 27, 2026💠 نسخه جدید کتابخانه GrammY منتشر شده است 🔸 ارتقا از نسخه 1.45.1 به 1.46.0 🔖 #grammy, #…
  5. Aug 26, 2026💠 نسخه جدید کتابخانه آیوگرام (Aiogram) منتشر شده است 🔸 ارتقا از نسخه 3.30.0 به 3.31.0 🔖…
  6. Aug 24, 2026🔥 پروژه: ‏TikTok Live Connector برای ربات‌ها کتابخانه Node.js ‏TikTok Live Connec…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →