با Webhook، Telegram هر آپدیت را مستقیم به URL ربات میفرستد و دیگه لازم نیست سرور مدام
getUpdates صدا بزند.📌 نکته مهم: آدرس Webhook حتماً باید HTTPS باشد و روی پورتی که فایروال اجازه میدهد در دسترس باشد.
نمونه ساده با python-telegram-bot (ورژن v20+):
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes
TOKEN = "YOUR_BOT_TOKEN"
WEBHOOK_URL = "https://example.com/bot/webhook" # URL عمومی
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text("ربات با Webhook فعاله ✅")
app = ApplicationBuilder().token(TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.run_webhook(
listen="0.0.0.0",
port=8443,
url_path="bot/webhook",
webhook_url=WEBHOOK_URL,
)
چند نکته عملی 🛠️
- برای ترافیک زیاد، Webhook بهتر از polling جواب میدهد و scale کردن پشت Nginx یا Load Balancer راحتتر میشود.
- روی endpoint مربوط به Webhook هیچ لاگ حساس (مثل توکن) چاپ نشود و timeout پاسخدهی خیلی بالا نرود.
- روی سرور، health-check سبک برای اطمینان از زنده بودن ربات نگهداری شود.
برای جزئیات بیشتر و پارامترهای دقیق Webhook:
مستندات رسمی Telegram Bot API - setWebhook
امتحان Webhook روی یک ربات واقعی، خیلی خوب تفاوت سرعت و پایداری را نشان میدهد؛ مخصوصاً وقتی تعداد چتها بالا میرود ⚙️
🔖 #TelegramBot #ربات #تلگرام #telegram_bot #webhook #python #performance #security
👤 Developix
💎 Channel: @DevelopixRobot