Crear bots de Telegram es relativamente sencillo, pero usar un paquete como Nutgram lo hace aún más fácil.
Como veo que cuesta un poco empezar con Nutgram voy a escribir una rápida guía para empezar.
Crear un bot de Telegram
Seguro que ni te imaginabas que éste era el primer paso.
Pues eso, te buscas una de las mil guías que hay para crear bots de Telegram y crea tu primer bot.
Por si te da pereza, en resumen, busca a BotFather (https://t.me/BotFather) y sigue sus instrucciones.
Lo que vamos a necesitar es el token de tu bot. Es un código con este aspecto:
7691201453:BGHlbAnXGA8lBsT1THtWWFeD59JHZm7sIAk (no lo uses que es inventado)
No compartas el token de tu bot públicamente, que con ese token pueden hacer lo que quieran.
Este post es posible gracias a Urlan Heat – empresa de desarrollo especializada en PHP.
Añadir el paquete Nutgram a tu proyecto PHP
Tan fácil como hacer:
composer require nutgram/nutgram
Nota: Si empiezas el proyecto de cero también puedes empezar con este composer require.
Una vez instalado creamos nuestro fichero PHP (index.php):
<?php
require __DIR__ . '/vendor/autoload.php';
require 'config.php';
use SergiX44\Nutgram\Nutgram;
use SergiX44\Nutgram\Configuration;
$config = new Configuration(
clientTimeout: 10, // default in seconds, when contacting the Telegram API
);
$botToken = BOT_TOKEN;
$bot = new Nutgram($botToken, $config);
$updates = $bot->getUpdates();
foreach($updates as $update) {
echo "Mensaje recibido: {$update->getMessage()->text}\n";
}
Y añadimos nuestro fichero de configuración (sin .env, para no complicarnos):
<?php
define('BOT_TOKEN', '7691201453:BGHlbAnXGA8lBsT1THtWWFeD59JHZm7sIAk');
Y ahora, a lanzar nuestro código:
php index.php
Si el token que has usado para el bot es erróneo verás un error tal que así:
Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: `POST https://api.telegram.org/bot7691201453:BGHlbAnXGA8lBsT1THtWWFeD59JHZm7sIAk/getUpdates` resulted in a `401 Unauthorized` response:
{"ok":false,"error_code":401,"description":"Unauthorized"}
in /var/www/html/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:111
Y si ha ido todo bien… pues tu programa terminará sin hacer nada.
¡Pues vaya!
El primer mensaje
Para que nuestro programilla empiece a hacer algo vete a tu bot de Telegram y escribe algo. En mi caso he escrito un simple «Hola»:

Sin respuesta… por ahora.
Venga, pues ahora ejecuta de nuevo tu script:
$ php index.php
Mensaje recibido: Hola
¡Tachaaaán! Ya empezamos a tener algo.
En el próximo capítulo responderemos a los mensajes.
No te pierdas las novedades, apúntate a nuestra newsletter o síguenos en Linkedin.