Crea un bot con BotFather, localiza tu chat y envía avisos automáticos desde un script PHP con cURL, siguiendo la documentación oficial.
Actualizado el
Automatizar avisos desde un servidor o una tarea programada es una de las utilidades más prácticas de un bot de Telegram. En esta guía explicamos cómo montar, a partir de la documentación oficial, un script PHP que envía un mensaje a tu propio chat. El resultado esperado es sencillo: ejecutas el archivo y la notificación aparece en tu móvil.
Según la guía de Telegram, un bot no es más que una rutina o script que consulta la API mediante peticiones HTTPS y espera una respuesta codificada en JSON. Esa es toda la base de lo que haremos.
Lo que necesitas
- Una cuenta de Telegram y acceso a la aplicación para hablar con BotFather.
- PHP con la extensión cURL activada; las opciones de la transferencia se describen en el manual de curl_setopt.
- Un editor de texto y acceso a una terminal o a tu servidor para ejecutar el script.
- Salida a internet desde la máquina donde corra el script, ya que hablará con el servidor de la API por HTTPS.

Paso a paso
- Abre Telegram, busca a BotFather y envíale el comando /newbot. Después, sigue los pasos de BotFather hasta recibir el token, como indica la guía oficial de Telegram.
- Guarda el token de acceso que te entrega BotFather. Es la credencial de tu bot: trátala como una contraseña.
- Escribe cualquier mensaje a tu bot desde tu cuenta, para que exista una conversación entre ambos.
- Consulta tus actualizaciones recientes y localiza el identificador del chat en la respuesta JSON, dentro del apartado «chat» (siguiente sección).
- Crea el archivo PHP con el código de más abajo, sustituye el token y el identificador, y ejecútalo.
Obtener el identificador de chat
La documentación de Telegram señala que el navegador sirve para probar la API una vez tienes el token, por ejemplo con el método getMe. La referencia de la API indica que getUpdates devuelve un array de objetos Update. Tras escribirle un «Hola», abre en el navegador esta dirección sustituyendo el marcador por tu token y busca el campo id dentro de chat.
https://api.telegram.org/bot<TU_TOKEN>/getUpdatesApunta ese número: es el destino de tus mensajes. Por precaución, no pegues esa dirección con tu token real en capturas, foros ni repositorios públicos.
El script PHP
El script construye la dirección del método sendMessage, prepara los parámetros y lanza una petición POST con cURL. Cada llamada a curl_setopt fija una opción de la transferencia, tal como explica el manual de PHP.
<?php
$token = "TU_TOKEN_AQUI";
$chat_id = "TU_ID_CHAT_AQUI";
$mensaje = "¡Hola! Este es un mensaje de prueba enviado desde un script de PHP.";
$url = "https://api.telegram.org/bot" . $token . "/sendMessage";
$parametros = [
'chat_id' => $chat_id,
'text' => $mensaje,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($parametros));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$respuesta = curl_exec($ch);
if ($respuesta === false) {
echo 'Error de cURL: ' . curl_error($ch);
}
curl_close($ch);
echo $respuesta;Guarda el archivo como enviar_telegram.php y ejecútalo. Si todo va bien, recibirás el mensaje en tu chat y verás por pantalla la respuesta JSON de la API. En versiones modernas de PHP, curl_init() devuelve un objeto CurlHandle y no un recurso, algo que el manual recoge desde PHP 8.0.0; el código de arriba funciona igual.

Si algo falla
- Si la respuesta de
getUpdatesviene vacía, envía otro mensaje a tu bot y vuelve a consultarla. - Si cURL devuelve un error, revisa que la extensión esté activa y que el servidor tenga salida HTTPS.
- Si la API rechaza la petición, comprueba que el token y el identificador de chat no tengan espacios ni caracteres de más.
Para ir más lejos, la guía oficial de Telegram explica cómo pasar de peticiones sueltas a bibliotecas y frameworks, y ofrece ejemplos equivalentes en Python y C#. Para avisos puntuales, el script de esta guía es suficiente.
Fuente original: Telegram
Artículo generado mediante AI.larebelion


