epespad

Tené tu propio bot para telegram sabiendo PHP

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!

bot


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"

telegram


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

telegram bot


✔️ 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)

telegram api


✔️ 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)

bot api


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

bot propio


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

Tené tu propio bot para telegram sabiendo PHP


✔️ 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)

bot


- 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

telegram


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

telegram bot


>$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)


telegram api


bot api


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.

bot propio


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!

Tené tu propio bot para telegram sabiendo PHP


El repositorio está en:

https://github.com/NaokiStark/NaokiBotTelegram

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

bot


Cualquier paso que haya omitido, quejense.

~~

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

telegram

1FabigtjWdYus6qnNcwz2Db9CxLSKtCgn

11 comentarios - Tené tu propio bot para telegram sabiendo PHP

SalvaD1 +1
ta buenaso +10
max_pc +1
jerauma +1
Me sirve esta info a fav.
Grax +10
Choringa09 +1
para que serviria un bot en telegram?
matuzky +3


Bots are simply Telegram accounts operated by software – not people – and they'll often have AI features. They can do anything – teach, play, search, broadcast, remind, connect, integrate with other services, or even pass commands to the Internet of Things.
 



https://telegram.org/blog/bot-revolution
jpcristian2 -6
Php? Porque no mejor Python?
Emaus +1
Es cuestión de gustos. Se puede con Python, ruby, java o cualquier lenguaje que interactúe con la API. El autor nos dejó el suyo hecho con PHP
ernestocajarlagu +2
@Emaus lo que pasa es quela elen quiere demostrar que sabe de programacion
max_pc +1
@jpcristian2 Elegí PHP porque es más facil de alojar en cualquier servidor, hasta en uno shared free, este codigo no tiene dependencias externas y cosas que instalar.

Saludos.
AlexFierro
Leí solo hasta esto: "no esperes resumen lv5 porque no sirve".
medra94 +1
holaa... ya te sigo... muy buenos post!!!

ME recomendas donde aprender php?? gracias!
max_pc +2
Hola! te recomiendo este sitio para empezar

https://www.codecademy.com/es/tracks/php-clone
medra94 +1
@max_pc gracias!
bukers12
gracuias pero puedes hacer otro con mas profundidad para los que estamos enpezando por favor gracias
dorgan
Ponele un LICENSE.md perro
JaimenUrbina
Saludos ya hice todos los cambios pero como configuro los comandos para que el bot interactue con el los usuarios???