TGViewer
| کانال ربات تلگرام | | کانال ربات تلگرام | @developixrobot · 1.24K subscribers
Post #22 733
🤖 ساخت ربات تلگرام دکمه‌دار با Python (pyTelegramBotAPI)

خیلی وقت‌ها یه ربات ساده /start داریم که فقط جواب متن می‌ده. ولی ربات‌های کاربردی معمولاً با Inline Keyboard کار می‌کنن: دکمه‌های زیر پیام که با لمس کردنشون، ربات یه اکشن مشخص انجام می‌ده (مثلاً «دیدن منو»، «گرفتن لینک»، «ثبت‌نام» و ...).

تو این پست، خیلی جمع‌ و جور، یه ربات Python می‌سازیم که:

• با /start خوش‌آمد می‌گه 😄
• یه دکمه «دیدن زمان الان ⏰» نشون می‌ده
• با زدن دکمه، ساعت فعلی رو برمی‌گردونه

پایه‌ی کارمون روی کتابخونه‌ی معروف pyTelegramBotAPI هست که دقیقا روی Telegram Bot API پیاده‌سازی شده و مستنداتش اینجاست:
github.com/eternnoir/pyTelegramBotAPI

نصب و راه‌اندازی سریع ⚙️

۱️⃣ با BotFather یه Bot جدید بساز و TOKEN رو بگیر.
۲️⃣ روی سرور یا سیستم خودت Python 3 داشته باش.
۳️⃣ این پکیج رو نصب کن:
pip install pyTelegramBotAPI


نمونه کد ربات دکمه‌دار 🧩

کد زیر یه ربات کامل و قابل اجراست (با polling):

import telebot
from telebot import types
from datetime import datetime

API_TOKEN = "YOUR_BOT_TOKEN_HERE"
bot = telebot.TeleBot(API_TOKEN)

@bot.message_handler(commands=["start"])
def send_welcome(message):
keyboard = types.InlineKeyboardMarkup()
btn_time = types.InlineKeyboardButton(
text="⏰ دیدن زمان الان",
callback_data="show_time"
)
keyboard.add(btn_time)

bot.send_message(
message.chat.id,
"سلام! 👋\nبا دکمه زیر می‌تونی زمان فعلی سرور رو ببینی.",
reply_markup=keyboard
)

@bot.callback_query_handler(func=lambda c: c.data == "show_time")
def process_callback_show_time(callback_query):
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
bot.answer_callback_query(callback_query.id)
bot.send_message(
callback_query.message.chat.id,
f"⏰ زمان فعلی: {now}"
)

if __name__ == "__main__":
print("Bot is running...")
bot.infinity_polling()


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

• callback_data حداکثر ۶۴ بایت می‌تونه باشه؛ برای اطلاعات پیچیده‌تر بهتره یه ID بفرستی و دیتای اصلی رو تو Database نگه داری.
• همیشه بعد از هندل کردن دکمه، یه answer_callback_query صدا بزن (مثل کد بالا) تا خطای query is too old نگیری و UX بهتر بشه.
• برای ربات‌های جدی، به‌جای polling بهتره از webhook استفاده بشه (مثلاً پشت Nginx یا روی Cloudflare Tunnel).

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

امتحانش کن و اگر برات مفید بود، با بقیه‌ی دولوپرهای ربات تلگرام هم شیرش کن 🌱

🔖 #TelegramBot #ربات #تلگرام #Telegram_Bot #Python #pyTelegramBotAPI #Inline_Keyboard #Webhook #Polling #Bot_Development #Persian

👤 Developix

💎 Channel: @DevelopixRobot
  • 👍 2
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 →