Canales populares

Tené tu propio bot para telegram sabiendo PHP



Este post es extenso y requiere conocimientos de programación

Hola!

Tenés conocimientos básicos de PHP y estas aprendiendo sobre bots?

Sabés muy bien PHP y te da paja programar un bot?

¡Esta es tu oportunidad!



Explico este post para gente que tiene pocos conocimientos, hay cosas que para los que ya saben bastante van a ser irrelevantes, por favor abstenerse de comentar eso.

Y si venís a criticar por el lenguaje, estoy de acuerdo, solo que me pareció más rápido y práctico hacerlo en este lenguaje.

El codigo que está acá es libre, quiere decir que podés hacer lo que quieras con ello, siempre y cuando me des los créditos.

Este script es extensible, lo que quiere decir es que se pueden agregar más funciones, como procesamiento de audio/video, base de datos, inteligencia artifical, integración con sitios web, etc. Y también por defecto permite la creación de "Comandos"



✔️ Algun conocimiento previo en PHP, si tenés interés, hay varios sitios buenos para comenzar a aprender!



✔️ Un hosting (puede ser VPS o uno tipo Shared (compartido), lo probé en un shared free y funciona de 10), si o si necesita encriptado SSL (HTTPS), si el hosting no te provee, Cloudflare te ofrece gratis, si es un VPS, está la opción Let's Encrypt
(No proveo datos de proveedores, porque no es el lugar)



✔️ Entender como funciona la api de Telegram (es más que nada para poner el bot en marcha, las cosas básicas como enviar mensajes e imágenes ya está implementado)



✔️ Leer este post, no esperes resumen lv5 porque no sirve



✔️ Editor de texto (Sublime text, Notepad++ o Atom, emacs, vim, nano, cat, whatever)



✔️ Cliente FTP (para subir los archivos al servidor)

✔️ Git (no es necesario, se puede descargar como ZIP todo junto, pero los que ya saben, es genial implementarlo)



- Descargar el código, via Git o por zip en github

- Ir al BotFather de telegram (https://telegram.me/BotFather), crear un nuevo bot, (BotFather es interactivo y te va a ayudar a crear el bot), necesitás un "token" el cual va a ser la clave para que el código pueda enviar mensajes como tu bot



- Con el editor de texto, abrir "tgbot.php" y editar las siguientes lineas a su gusto



>$BotToken: el token que te da BotFather para tu bot
>$FatherId: el id de telegram tuyo (se obtiene de forma rara, no es necesario, a menos que desees comandos especiales solo para vos)
>$BotName: El nombre de tu bot
>$BotAlias: el alias de tu bot (es un caracter para llamar al bot con un comando, por ejemplo $ping)


Una vez hecho esto, ya se puede subir al hosting mediante el Cliente FTP (todos los archivos con los que viene)






https://core.telegram.org/bots/api#setwebhook

Resumen: Enviar una petición POST con los datos para que Telegram envíe mensajes a tu bot (asi se entera de lo que pasa xd)

pueden crear un script en PHP para hacerlo, dejo un ejemplo de lo que digo

<?php

$token 
'TOKEN DE TU BOT';

$postdata http_build_query(
    array(
'url'=>'HTTPS://URL DE TU BOT')
);

$opts = array('http' =>
    array(
        
'method'  => 'POST',
        
'header'  => 'Content-type: application/json',
        
'content' => $postdata
    
)
);

$context  stream_context_create($opts);

$result file_get_contents('https://api.telegram.org/bot:'.$token.'/setWebhook'false$context);


Una vez hecho esto, el bot estará funcional y Telegram debería enviar mensajes correctamente.



En la carpeta "Commands" hay 2 comandos de prueba que se pueden modificar y crear nuevos en base a esos, el codigo automágicamente llama a los nuevos scripts, por lo que no hay que configurar nada.

Para probar si el bot funciona, ejecuta el comando ping desde el chat de tu bot, si responde, todo está perfecto!



El repositorio está en:

https://github.com/NaokiStark/NaokiBotTelegram

Reitero, Opensource, haz lo que te plazca pero respetando creditos, gracias



Cualquier paso que haya omitido, quejense.

~~

Si quieres donar, sientete libre de hacerlo, como este software



1FabigtjWdYus6qnNcwz2Db9CxLSKtCgn
0No hay comentarios