¿Cómo implementar la función de exportar el link de un grupo de Telegram en tu bot?

¿Cómo implementar la función de exportar el link de un grupo de Telegram en tu bot?

¿Nunca te ha pasado, que intentas compartir el enlace a un grupo de Telegram pero tienes que ir a Información del grupo > Enlace de invitación?.
En esta ocasión, te mostramos como poder hacer que administradores y el creador del grupo pueda exportar el enlace de invitación del grupo en cuestión con tu bot de manera rápida y sencilla.

Métodos que utilizaremos

Utilizaremos el método exportChatInviteLink(), al cual debemos indicarle el chatId donde se realiza la petición para poder extraer el enlace de invitación.

Haremos uso también de bot.getChatMember() para poder determinar si la persona que hace uso del comando es administrador o creador del grupo. De esta manera, podremos filtrar el comando solo para que personas con privilegios puedan exportarlo.

Picando código

Dicho esto, nos ponemos manos a la obra picando el código:

bot.onText(/^\/enlace/, function(msg){
    var chatId = msg.chat.id;
    var userId = msg.from.id;
    var messageId = msg.message_id;
    var chatTitle = msg.chat.title;
    
    bot.getChatMember(chatId, userId).then(function(user){
        if ((user.status == 'creator') || (user.status == 'administrator')){
            bot.exportChatInviteLink(chatId).then(function(enlace){
            bot.deleteMessage(chatId, messageId);
            bot.sendMessage(chatId, "Enlace del grupo " + chatTitle + "\n" + enlace);
            });
        }
        else {
            bot.deleteMessage(chatId, messageId);
            bot.sendMessage(chatId, "Solo administradores y creador pueden usar este comando.")
            }
    });
});

Basicamente, lo que hemos hecho es:

  1. Verificamos que el usuario que hace uso del comando /enlace es administrador o creador del grupo donde se solicita.
  2. Si el usuario es administrador o creador el bot se encargará de exportar el link.
  3. Posteriormente, eliminará el mensaje /enlace
  4. Enviará el mensaje "Enlace del grupo" + chatTitle + "\n" + enlace.

chatTitle es el nombre del chat donde se solicita el comando, mientras que enlace contiene el link del grupo.

En el caso de que el usuario que hace uso el comando no tenga privilegios de administador, el bot eliminará el mensaje /enlace y enviará el mensaje Solo administradores y creador puede usar este comando.