Desarrollando un Bot para Telegram
8641 단어 apicodigodefindejavascriptnode
Objetivos del proyecto:
Pero Antes de Arrancar... ✋
¿Qué son los Bots de Telegram?
¿Escuchaste algo de esto? Si es tu prima vez, te lo resumo así nomás:
Son aplicaciones de terceros que se ejecutan dentro de la aplicación de mensajería.
No necesitas instalarlos ni hacer nada diferente para poder utilizarlos, ya que se utilizan como si estuvieras interactuando con una persona real (Es decír, buscando el nombre del bot en el buscador de la app como harías con cualquier usuario: @nombreDelBot).
Hay más: Son multiplataforma, y los podes usar en la versión de Telegram del sistema operativo que quieras.
Nivel 개발자인 Ahora: Funcionan con una API de Telegram
🎌 ¿소개 목록?
¡Manos a la obra con nuestro primer proyecto de fin de semana! 👇👇
요건
Telegraf . Esta librería será la que utilizaremos para crear el bot, específicamente con Js.
파소 아 파소
1. Damos de alta nuestro 봇
Abrimos Telegram y vamos a utilizar el Bot "Padre": botFather. Esta cuenta es la administradora de todos los bots, por lo que podras administrar los tuyos interactuando con ella.
특히, el nombre del bot debe terminar con "bot". (¿Ya pensaste un nombre marketinero? 😎)
Una vez en el chat con botFather, basta con hacer/newbot y setear el nombre. Eso es todo.
Nos devolverá un token que necesitaremos luego en nuestro código. De todas formas, podemos volver y chequearlo.
🎁 En mi caso, voy a hacer un bot que me recuerde los días que cumple años cada miembro de mi familia. Luego intentaré desarrollar uno que les haga regalos y no tenga que gastar.
2. 프리메라스 리니어스
En nuestra carpeta preferida de proyectos, creamos una nueva con el nombre del bot/proyecto.
예: CumplesDeLaFliaBot
Nos ubicamos dentro de la carpeta y abrimos linea de comandos:
npm init
npm install telegraf
Archivo .js에 대한 Creamos; 예: bot.js.
Aquí tendremos la logica del bot.
const Telegraf = require('telegraf');
const bot = new Telegraf('tokenProvistoPorBotFather');
Empezamos con utilizar métodos de Telegraf, en este caso .command para mostrar un saludo personalizado cuando se inicia el bot (vamos a estar capturando el "start"propio de cuando se inicia la conversación)
bot.command('start', ctx => {
console.log(ctx.from)
bot.telegram.sendMessage(ctx.chat.id, '¿Otra vez olvidaste los cumpleaños?', {
})
})
3. Seteamos nuestro 봇 en Telegram
Esta sección es necesaria sólo si queres utilizar los comandos -una especie de accesos rápidos- que te proofe botFather.
Para esto vamos a Telegram nuevamente:
/mybots: Recuperar la lista de bots propios y seleccionar el necesario.
/setcommands: Setear comandos que queremos utilizar.
En mi caso sería(Recordar que tenemos que responder en formato 명령 - 설명). Donde command es el comando que vamos a capturar y description es lo que ve el usuario.
genaro - Genaro
vito - Vito
✅ Listo, volvemos a Visual Studio Code.
4. Capturando comandos del usuario.
En esta parte vamos a capturar -> devolver. Recordá que podes llamar a una función y hacer lo-que-quieras en ella, y devolver el resultado. Por ejemplo, en otro bot que desarrollé, mandando un parámetro de tipo int a una función, recorría un array de objetos y devolvía uno específico. 어쨌든..
//esperamos el command /genaro y devolvemos la fecha en formato string (dd/mm)
bot.command('/genaro', ctx => {
bot.telegram.sendMessage(ctx.chat.id, '17/09');
})
//esperamos el command /vito y devolvemos la fecha en formato string (dd/mm)
bot.command('/vito', ctx => {
bot.telegram.sendMessage(ctx.chat.id, '11/04');
})
//lanzamos nuestro bot
bot.launch();
5. Probando nuestro 봇 en local
Una vez finalizado nuestro código (o durante el desarrollo, porqué no), abrimos terminal y escribimos:
node bot.js
Teniendo Telegram abierto, y si seteamos todo de manera correcta: ¡Ya estamos listos para empezar a testear nuestro bot! 🏄
Proximos episodios de esta maravillosa 시리즈:
¿Te sirvió el post?
비교 비교
Reference
이 문제에 관하여(Desarrollando un Bot para Telegram), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/enzotrucchi/desarrollando-un-bot-para-telegram-51ek텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)