Telegrames una aplicación de mensajeria open source. Entre otras cosas, permite la creación de bots que pueden ejecutar ciertas acciones. En este tutorial aprenderemos a crear un bot con PHP usando la plataforma cloud de Heroku

Lo primero que tenemos que hacer es dirigirnos a Telegram e iniciar una conversación con un @BotFather, un bot creado para crear y administrar bots. https://telegram.me/botfather A continuación escribimos /newbot y escribimos el nombre del bot. Otros comandos de utilidad son los siguientes:

Una vez creado el bot en Telegram, tenemos que generar nuestro token de acceso, escribiendo el comando /token.

El siguiente paso es registrarnos en la plataforma cloud que vamos a utilizar para alojar nuestro codigo PHP encargado de hacer funcionar nuestro bot en Telegram, en nuestro caso Heroku https://dashboard.heroku.com/new Creamos una app en heroku y buscamos en la pestaña de Settings el nombre del dominio que nos han asignado.

Ahora tenemos que añadir el webhook de nuestra app de heroku a nuestro bot de telegram para que tenga permisos. Para ello nos dirigimos a este enlace:

https://api.telegram.org/bot[TOKEN]/setWebhook?url=[URL]

Y cambiamos [TOKEN] por el token que generamos con BotFather y [URL] por la URL que nos asignaron en Heroku. Si todo ha ido bien debería aparecer un mensaje de OK.

Ahora toca empezar con la programación de nuestro bot en si con PHP. Para ello nos descargamos este repositorio de git: https://github.com/kasramp/geekswebbot haciendo clic en Download Zip o con el comando git clone. Abrimos el archivo index.php que hemos descargado y lo abrimos con SublimeText, o cualquier otro editor de código, y cambiamos la linea que dice: $client = new Zelenin\Telegram\Bot\Api(“); // Set your access token Tenemos que poner entre las comillas nuestro token que generó BotFather. A continuación podemos cambiar los comandos que vienen por defecto mas abajo con lo que queramos que haga nuestro bot. Por ejemplo yo he cambiado el comando:

if($update->message->text == '/email')
{
$response = $client->sendChatAction(['chat_id' => $update->message->chat->id, 'action' => 'typing']);
$response = $client->sendMessage([
'chat_id' => $update->message->chat->id,
'text' => "You can send email to : Kasra@madadipouya.com"
]);
}
if($update->message->text == '/fecha')
{

$response = $client->sendChatAction(['chat_id' => $update->message->chat->id, 'action' => 'typing']);
$response = $client->sendMessage([
'chat_id' => $update->message->chat->id,
'text' => date('l jS \of F Y')
]);
}

Una vez cambiado el código a nuestro gusto toca subirlo a Heroku. Para ello tenemos que tener descargado PHP, Composer y el Heroku Toolbet en nuestro equipo, los puedes descargar de aquí: http://php.net/ https://getcomposer.org/doc/00-intro.md https://toolbelt.heroku.com/

Una vez lo tenemos todo nos dirigimos a la terminal o a la consola de comandos cmd e introducimos este comando:

heroku login

e introducimos nuestro nombre y contraseña que usamos al registrarnos en Heroku. Navegamos hasta el directorio donde tenemos guardado el código de nuestra aplicación y simplemente ejecutamos el comando:

git push heroku master

Todo listo, nuestro bot programado en PHP ya funciona, ya solo queda probar que nuestro bot funciona correctamente iniciando una conversación con el y enviándole el comando que hemos creado.




También te puede intersar...