instauto el bot definitivo Instragam

instauto el bot definito Instagram

En este post encontrarás scripts hechos en vainilla javascript para seguir cuentas, para dejar de seguir cuentas indistintamente, dar likes por hashtag, así como la instalación del bot instauto

El proceso se explica completamente en el vídeo a continuación:

¿Qué es instauto?

instauto es una biblioteca de automatización / bot para Instagram, escrita en JavaScript moderno y limpio usando Puppeteer de Google.

Puppeteer es una librería de Node.js que proporciona una API de alto nivel que permite automatizar acciones sobre los navegadores de Google: tanto Chrome como su versión de código abierto Chromium.

El objetivo de instauto es ser muy fácil de configurar, usar y extender. instauto respeta los límites de Instagram. Está inspirado en InstaPy, Instabot pero más liviano y sencillo de configurar.

De Instapy a Instabot y de Instabot a instauto

Si sigues mis post, o mi canal de Youtube habrás visto que le he dedicado un gran número de publicaciones a automatizar procesos en Instagram.

Primero con Instapy y después de una gran cantidad de fallos, Instabot. Incluso implemente un post donde explicaba los comandos para implementar una plantilla personalizada de Instabot

La gran cantidad de personas indicando fallos, me llevó a re confirmar el funcionamiento de mi bot y lamentablemente Instagram implementó una nueva validación que rompe el proceso.

Por esto decidí primero montar unas plantillas en javascript vanilla para inyectar en la consola del navegador.

Actualmente me funciona la opción de seguir automáticamente los seguidores y a quienes sigue una cuenta en específico. El script de dejar de seguir a todos tus seguidores sin distinción y el de darle likes a los post relacionados con un hashtag específico, ubicación o publicaciones de una cuenta.

Estos script los comparto a continuación:

Script para seguir automáticamente los seguidores y a quienes sigue una cuenta en específico

const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
const list = document.querySelectorAll('.y3zKF');

function clikOnLink(link){
 link.click();
}

const asyncLoop = async () => {
  for (let i = 0; i < list.length ; i++) {
    await timeoutPromise(18000);
    clikOnLink(list[i]);
  }
}

asyncLoop();

Script para dejar de seguir a todos tus seguidores sin distinción

Puedes pararlo en cualquier momento con solo actualizar el navegador, podrías, primero seguir masivamente y después dejar de seguir un buen número de cuentas, ya va en la administración que decidas llevar, claro está teniendo en cuenta las condiciones de uso de Instagram para no infringir sus reglas.

// CÓMO EJECUTARLO EN GOOGLE CHROME
// 1. INSTAGRAMA ABIERTO
// 2. LISTA ABIERTA DE SEGUIDORES
// 3. HERRAMIENTAS DE DESARROLLADOR ABIERTAS
// 4. COPIE TODO AQUÍ CTRL + A
// 5. PEGAR TODO EN HERRAMIENTAS PARA DESARROLLADORES CONSOLA
// 6. HAGA CLIC ENTRAR
// NO TENDRÁS PRONTO AMIGOS

const FOLLOWING_BUTTON_TEXT = 'Siguiendo' // CAMBIAR ESTO A SU IDIOMA
const UNFOLLOW_BUTTON_TEXT = 'Dejar de seguir' // Este también
const MAX_ATTEMPTS_PER_UNFOLLOW = 3 // Si estás desde el PC estás bien

const unfollowSomebody = () => {
    const followingButton = document
        .evaluate(`//button[text()="${FOLLOWING_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
        .singleNodeValue
    if (followingButton) {
        console.log('Encontrado el siguiente botón. Haciendo clic ...')
        followingButton.click()
        console.log('Haga clic en el siguiente botón.')
        let unfollowButton = document.evaluate(`//button[text()="${UNFOLLOW_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
        let attempts = 1
        while (attempts < MAX_ATTEMPTS_PER_UNFOLLOW && !unfollowButton) {
            console.log(`Se Intentó encontrar Botón de dejar de seguir pero no se pudo. Número de reintento #${attempts++}`)
            unfollowButton = document.evaluate(`//button[text()="${UNFOLLOW_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
        }
        if (attempts < MAX_ATTEMPTS_PER_UNFOLLOW) {
            console.log('Botón de dejar de seguir encontrado. Haciendo scrolling y dejando de seguir ...')
            unfollowButton.scrollIntoView(true)
            unfollowButton.click()
        } else {
            console.log(`Se ha intentado ${MAX_ATTEMPTS_PER_UNFOLLOW} veces y no tuvo éxito`)
        }
        return false
    }
    return true
}

const timeout = (ms) => new Promise(resolve => setTimeout(resolve, ms))

const randomTimeout = () => (Math.floor((Math.random() * 30) + 30) * 300) + 300

const unfollowEveryone = async () => {
    let shouldStop = false
    while (!shouldStop) {
        shouldStop = unfollowSomebody()
        const unfollowTimeout = randomTimeout()
        console.log(`Esperando ${unfollowTimeout} segundo. podría parar: ${shouldStop}.`)
        await timeout(unfollowTimeout)
    }
    console.log('No sigues a nadie.')
}

unfollowEveryone()

Script de likes a los post relacionados con un hashtag específico, ubicación o publicaciones de una cuenta

const next = document.querySelector('a.coreSpriteRightPaginationArrow');
function doSomething(random) {
    const like = document.querySelector('article > div.eo2As > section.ltpMr.Slqrh > span.fr66n > button');
    if(like){
        console.log('click\n');
        like.click();
    }
    next.click();
    console.log('Esperando '+random+' miliseconds\n');
}

(function loop() {
    var min = 15000; // mínimo de 15 segundos
    var max = 25000; // máximo de 25 segundos
    var random = Math.floor(Math.random() * (+max - +min)) + +min;
    setTimeout(function() {
            doSomething(random);
            loop();  
    }, random);
}());

var firstLike = document.querySelector('button > svg[aria-label="Like"]');
var closestElement = firstLike.closest('button');
closestElement.click();

Instalación del bot instauto para Instagram

Descarga del repositorio instauto

Para realizar la instalación de instauto, primero debes descargar el proyecto del repositorio a continuación, te recomiendo instalar git previamente.

Instagram bot / automation library written in Javascript for Node.js
https://github.com/mifi/instauto
22 forks.
85 stars.
9 open issues.
Recent commits:

Repositorio en GitHub de instauto

Si realizaste la descarga he instalación de git, para descargar el proyecto de instauto en tu ordenador solo es que ejecutes desde consola el siguiente comando:

git clone https://github.com/mifi/instauto.git

Instalación de Node JS

¿Qué es Node JS?

Es un entorno de tiempo de ejecución para JavaScript que incluye todo lo que se necesita para ejecutar un programa escrito escrito en este lenguaje.

En palabras más sencillas genera un servidor que permite la ejecución de Javascript en el backend.

Para realizar el proceso de instalación de Node JS solo es necesario acceder al siguiente enlace

https://nodejs.org/es/download/

Realizar la instalación con los parámetros por defecto, según el sistema operativo y arquitectura de tu ordenador.

Personalizar la plantilla example.js

Básicamente, debes cambiar tus credenciales en el documento del repositorio que previamente en esta instancia debiste haber descargado

Específicamente debes poner tus credenciales de Instagram en el siguiente tramo de código y después guardar los cambios.

  username: 'your-ig-username',
  password: 'your-ig-password',

Instalación de Yarn

Es un instalador de paquetes para JavaScript, muy similar a PIP en el lenguaje de Python, es necesario para los demás procesos de instalación desde la línea de comandos.

El siguiente es el comando para realizar el proceso.

npm i -g yarn

Instalación de Puppeteer

Esta librería permite moverse con gran dominio sobre el navegador de Chrome y Chromium, donde se abrirá tu Instagram y hará la magia.

El comando es el siguiente

yarn add puppeteer instauto

Ejecución del bot instauto para Instagram

Ya para este punto solo queda ejecutar el siguiente comando si has realizado todos los procesos como se ha explicado.

node example

Siempre puedes donar

Este bot y los scripts son información privilegiada y exclusiva, no son copia ni tampoco están basados en ningún otro tutorial y son el resultado de horas de investigación entregadas de manera específica y desinteresada para el bien común. Si puedes hacerlo, te agradeceré mucho tu donación, el botón Paypal a continuación está configurado para un importe de 5 USD.

Espero te haya servido, saludos !!!

6 comentarios

  1. Julio Contestar

    Ao instalar o puppeteer houve o seguinte erro:

    PS C:\Users\JulioCesar\Documents\Bot.js\instauto> yarn add puppeteer instauto
    yarn : O arquivo C:\Users\JulioCesar\AppData\Roaming\npm\yarn.ps1 não pode ser carregado porque a execução de scripts foi desabilitada neste
    sistema. Para obter mais informações, consulte about_Execution_Policies em https://go.microsoft.com/fwlink/?LinkID=135170.
    No linha:1 caractere:1
    + yarn add puppeteer instauto
    + ~~~~
    + CategoryInfo : ErrodeSegurança: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

  2. daurys Contestar

    hola, lo cerre y le doy ejecutar el bot de nuevo utilizando node example y me sale este error

    Error: Cannot find module ‘C:\Users\iTech King\Documents\bot js\example’
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
    code: ‘MODULE_NOT_FOUND’,
    requireStack: []
    }
    PS C:\Users\iTech King\Documents\bot js> node example
    internal/modules/cjs/loader.js:969
    throw err;
    ^

    Error: Cannot find module ‘C:\Users\iTech King\Documents\bot js\example’
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
    at Function.Module._load (internal/modules/cjs/loader.js:842:27)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
    code: ‘MODULE_NOT_FOUND’,
    requireStack: []
    }
    PS C:\Users\iTech King\Documents\bot js>

  3. Naix222 Contestar

    Hola! ¿Para personalizar las acciones que realiza este bot, debo seguir las instrucciones del post que realizaste de Personalización de Plantilla? ¿Son las mismas instrucciones? En mi caso quiero usar el bot para que ponga comentarios en diversas publicaciones relacionadas con varios hashtags. ¿Puedo hacerlo también con este?

    • ConfiguroWeb Autor de la entradaContestar

      Si es cuestión de cambiar los parámetros de la plantilla example, voy a buscar documentación y saco un nuevo post con los parámetros disponibles pero es perfectamente posible lo wue dices, saludos!!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *