Telegram Bot API
🌐 فارسی

توکن ربات تلگرام: چیست، چطور بگیریم، بررسی و باطل کنیم

· 6 دقیقه مطالعه

توکن ربات تلگرام رشته‌ای مثل 123456789:AAEexampleTokenReplaceWithYours است که BotFather هنگام ساخت ربات می‌دهد و هر درخواست به Bot API با آن احراز هویت می‌شود. برای گرفتن توکن ربات تلگرام جدید از دستور ‎/newbot و برای دیدن توکن ربات فعلی از مسیر ‎/mybots ← انتخاب ربات ← API Token استفاده کنید. هر کس توکن را داشته باشد ربات را کنترل می‌کند، پس آن را مثل رمز عبور نگه دارید.

توکن ربات تلگرام چیست؟

توکن کلید دسترسی ربات به Bot API است و دو بخش دارد که با دونقطه از هم جدا شده‌اند:

نمونه‌ای که در مستندات رسمی تلگرام آمده 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 است. توکن در آدرس هر درخواست، بلافاصله بعد از کلمه bot قرار می‌گیرد: https://api.telegram.org/bot<token>/METHOD_NAME. توکن با رمز حساب تلگرام شما فرق دارد و فقط به همان ربات دسترسی می‌دهد.

گرفتن توکن ربات تلگرام برای ربات جدید

  1. ‎@BotFather را باز کنید و دستور ‎/newbot را بفرستید.
  2. یک نام نمایشی و سپس یک نام کاربری وارد کنید که با bot تمام شود (5 تا 32 کاراکتر از حروف لاتین، عدد و زیرخط).
  3. BotFather در پیام آخر توکن را می‌فرستد؛ آن را کپی کنید و جای امنی نگه دارید.

مراحل کامل همراه با تست و ارسال اولین پیام در آموزش ساخت ربات تلگرام آمده است.

پیدا کردن توکن ربات قبلی

اگر ربات را قبلاً ساخته‌اید و توکن را گم کرده‌اید، لازم نیست ربات جدید بسازید:

  1. در BotFather دستور ‎/mybots را بفرستید.
  2. ربات موردنظر را از لیست انتخاب کنید.
  3. دکمه API Token را بزنید تا توکن فعلی نمایش داده شود.

دقت کنید: دستورهایی که توکن جدید می‌سازند برای دیدن توکن فعلی مناسب نیستند. با ساخته شدن توکن جدید، توکن قبلی از کار می‌افتد و باید آن را در همه سرورها و سرویس‌های متصل عوض کنید. برای دیدن توکن فقط از مسیر ‎/mybots ← API Token استفاده کنید.

بررسی توکن با getMe و معنی خطای 401

متد getMe ساده‌ترین راه تست توکن است؛ پارامتری ندارد و اطلاعات ربات را برمی‌گرداند:

curl https://api.telegram.org/bot123456789:AAEexampleTokenReplaceWithYours/getMe

اگر توکن معتبر باشد، پاسخ با ‎"ok": true و اطلاعات ربات (id، first_name، username) برمی‌گردد. در غیر این صورت این پاسخ را می‌بینید:

{"ok": false, "error_code": 401, "description": "Unauthorized"}

خطای 401 Unauthorized یعنی تلگرام این توکن را نمی‌شناسد. دلایل رایج:

سریع‌ترین راه بدون ترمینال: توکن را در Bot API Tester روی متد getMe وارد کنید و پاسخ JSON را ببینید. توکن در localStorage مرورگر خودتان می‌ماند و درخواست مستقیم به api.telegram.org می‌رود. همین بررسی در Python:

import os
import requests

token = os.environ["TELEGRAM_BOT_TOKEN"]
r = requests.get(f"https://api.telegram.org/bot{token}/getMe", timeout=10).json()
if r["ok"]:
    print("توکن معتبر است:", r["result"]["username"])
else:
    print("خطا:", r["error_code"], r["description"])

باطل کردن توکن لو رفته

اگر توکن را در گیت‌هاب، یک گروه عمومی یا اسکرین‌شات منتشر کرده‌اید، فوراً آن را باطل کنید:

  1. در BotFather دستور ‎/revoke را بفرستید و ربات را انتخاب کنید؛ یا از مسیر ‎/mybots ← ربات ← API Token دکمه Revoke را بزنید.
  2. BotFather توکن جدیدی می‌دهد و توکن قبلی دیگر کار نمی‌کند.
  3. توکن جدید را در سرور، متغیرهای محیطی و همه سرویس‌های متصل جایگزین کنید.

پاک کردن فایل یا commit از مخزن کافی نیست، چون توکن در تاریخچه git باقی می‌ماند و ممکن است قبلاً کپی شده باشد. تنها راه مطمئن، باطل کردن توکن است.

نگهداری امن توکن

export TELEGRAM_BOT_TOKEN="123456789:AAEexampleTokenReplaceWithYours"
const token = process.env.TELEGRAM_BOT_TOKEN;

توکن و چت آیدی در n8n و دستیارهای هوش مصنوعی

ابزارهای اتوماسیون مثل نود Telegram در n8n و دستیارهای هوش مصنوعی که به تلگرام وصل می‌شوند (مثلاً OpenClaw) معمولاً دو چیز می‌خواهند: توکن ربات تلگرام برای ارسال و دریافت پیام، و چت آیدی مقصدی که پیام‌ها باید به آن برسند. چند نکته:

برای پیدا کردن چت آیدی کاربر، گروه یا کانال، راهنمای چت آیدی تلگرام را بخوانید و برای ارسال پیام آزمایشی سراغ آموزش ارسال پیام با ربات تلگرام بروید.

پرسش‌های متداول

توکن ربات تلگرام چیست؟

کلید دسترسی ربات به Bot API است؛ رشته‌ای مثل 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11 که BotFather هنگام ساخت ربات می‌دهد و در آدرس هر درخواست بعد از کلمه bot قرار می‌گیرد.

توکن ربات قبلی‌ام را از کجا پیدا کنم؟

در BotFather دستور ‎/mybots را بفرستید، ربات را انتخاب کنید و دکمه API Token را بزنید تا توکن فعلی نمایش داده شود. لازم نیست ربات جدید بسازید.

خطای 401 Unauthorized یعنی چه؟

یعنی تلگرام این توکن را نمی‌شناسد: اشتباه کپی شده، فاصله اضافه دارد یا باطل شده است. توکن فعلی را از ‎/mybots دوباره بردارید و با getMe بررسی کنید.

اگر توکن ربات لو برود چه کنم؟

فوراً در BotFather با ‎/revoke توکن را باطل کنید و توکن جدید را در سرور و سرویس‌هایتان جایگزین کنید. پاک کردن فایل از گیت‌هاب کافی نیست، چون توکن در تاریخچه commitها باقی می‌ماند.

آیا توکن ربات تلگرام منقضی می‌شود؟

خیر، توکن تاریخ انقضا ندارد و تا وقتی آن را باطل نکنید یا ربات را حذف نکنید معتبر می‌ماند. به همین دلیل لو رفتن آن خطرناک است.

آیا می‌توانم توکن را در کد سایت یا Mini App بگذارم؟

خیر. هر کسی که کد سمت کاربر را ببیند توکن را هم می‌بیند و کنترل ربات را به دست می‌گیرد. درخواست‌های Bot API را از سرور خودتان بفرستید.

ساخت ربات تلگرام: آموزش قدم‌به‌قدم از BotFather تا اولین پیام با Python

ساخت ربات تلگرام قدم‌به‌قدم: ساخت ربات در BotFather، گرفتن توکن، تست با getMe، پیدا کردن chat id و ارسال اولین پیام با curl و Python.

ارسال پیام با ربات تلگرام از طریق API تلگرام (sendMessage)

آموزش ارسال پیام با ربات تلگرام از طریق API تلگرام: متد sendMessage با curl، Python و JavaScript، قالب‌بندی HTML و MarkdownV2، دکمه شیشه‌ای و رفع خطاها.

وب هوک ربات تلگرام: راه‌اندازی setWebhook، بررسی و رفع خطا

آموزش ست وب هوک تلگرام با setWebhook: پیش‌نیازهای HTTPS و پورت‌ها، secret_token، بررسی با getWebhookInfo، حذف وب هوک و رفع خطاهای رایج مثل 409.

چت آیدی تلگرام: چیست، کجاست و چطور chat id کاربر، گروه و کانال را پیدا کنیم

چت آیدی تلگرام کجاست؟ پیدا کردن chat_id کاربر، گروه، سوپرگروه، کانال و تاپیک با getUpdates، معنی آیدی‌های منفی و رفع مشکل نتیجه خالی و خطای 409.