Chuleta

Chuleta de la Telegram Bot API

Cada llamada es https://api.telegram.org/bot<TOKEN>/<método> con parámetros JSON o de formulario. Las respuestas son {"ok": true, "result": ...} o {"ok": false, "error_code": ..., "description": ...}.

Recibir updates

  • getUpdates long polling; pasa offset = último update_id + 1
  • setWebhook url, secret_token, allowed_updates, drop_pending_updates
  • getWebhookInfo last_error_message, pending_update_count
  • deleteWebhook necesario antes de volver a getUpdates
  • La cabecera X-Telegram-Bot-Api-Secret-Token lleva tu secret_token
curl -s "https://api.telegram.org/bot$TOKEN/setWebhook" \
  -d url=https://example.com/tg \
  -d secret_token=$SECRET

Enviar

  • sendMessage chat_id, text, parse_mode, reply_markup, link_preview_options
  • sendPhoto / sendDocument / sendMediaGroup
  • editMessageText, deleteMessage
  • sendChatAction indicador de escritura para respuestas lentas
  • answerCallbackQuery responde siempre a las pulsaciones
  • setMyCommands el menú de comandos; scope y language_code

Tipos de update

  • message, edited_message
  • callback_query botón inline pulsado
  • inline_query @tubot consulta en cualquier chat
  • my_chat_member bot añadido, eliminado o bloqueado
  • chat_member requiere allowed_updates explícito
  • pre_checkout_query pagos; responde en 10 segundos

Formato

  • HTML: <b>, <i>, <u>, <s>, <code>, <pre>, <a href>, <tg-spoiler>, <blockquote>; escapa &, < y >
  • MarkdownV2: *negrita* _cursiva_ __subrayado__ ~tachado~ ||spoiler|| `código`
  • En MarkdownV2 escapa con barra invertida: _ * [ ] ( ) ~ ` > # + - = | { } . !

Convierte entre formatos con el conversor de Markdown. Abrir

Teclados y enlaces

  • inline_keyboard: url, callback_data (1-64 bytes), web_app, switch_inline_query
  • keyboard + resize_keyboard, one_time_keyboard, is_persistent
  • remove_keyboard, force_reply
  • t.me/<bot>?start=<param> llega como "/start param"
  • t.me/<bot>?startgroup=<param> añadir a un grupo

Constructor de teclados · Constructor de deep links

Errores comunes

  • 400 Bad Request: can't parse entities MarkdownV2 sin escapar o HTML roto
  • 400 message is too long más de 4096 caracteres
  • 403 bot was blocked by the user deja de escribir a ese chat
  • 409 Conflict dos consumidores de getUpdates, o hay webhook
  • 429 Too Many Requests espera parameters.retry_after segundos

Fuente: core.telegram.org/bots/api.

Última revisión con la documentación oficial: