bots

Solicitar número de contacto o ubicación de una persona mediante un bot de telegram en nodejs?

Solicitar número de contacto o ubicación de una persona mediante un bot de telegram en nodejs?

Hoy en un nuevo tutorial de nuestra guía de bots de Telegram en NodeJS os vamos a contar como solicitar a un usuario mediante un comando la localización y su número de Teléfono usando el keyboard (bótones que aparecen en el teclado)

Configurar las variables del Bot

Siempre hay que tener al pricipio del archivo la información básica de nuestro bot. Donde se encuentra el bot Token de nuestro bot. El código es el siguiente:

 const TelegramBot = require('node-telegram-bot-api');
 
 // API Token Telegram
 const token = 'escribe-aqui-tu-token';
 
 // Creamos un bot que usa 'polling' para obtener actualizaciones
 const bot = new TelegramBot(token, {polling: true});
 const request = require('request');

El siguiente código funciona cada vez que un usuario usa el comando "/getLocation" y el bot responde abriendo un keyboard. Ese keyboard hace 2 request distintas, la primera la localización y la segunda el contacto.

bot.onText(/getLocation/, (msg) => {
  const opts = {
    reply_markup: JSON.stringify({
      keyboard: [
        [{text: 'Location', request_location: true}],
        [{text: 'Contact', request_contact: true}],
      ],
      resize_keyboard: true,
      one_time_keyboard: true,
    }),
  };
  bot.sendMessage(msg.chat.id, 'Contact and Location request', opts);
});

bot.on('location', (msg) => {
  console.log(msg.location.latitude);
  console.log(msg.location.longitude);
});

Si un usuario decide mandarte su ubicación verás en la consola la latituz y la longitud del usuario.

0 Comentarios 0 Comentarios
0 Comentarios 0 Comentarios