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
148 forks.
734 stars.
48 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 !!!

32 thoughts on “instauto el bot definitivo Instragam

  1. 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. 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. 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?

    1. 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!!

  4. Hola Mauricio,

    Primero darte las gracias por el aporte, es genial y super bien explicado. Estoy realizando todos las pasos y una vez ejecuto el script, el bot abre instagram se logea, busca al usuario pero no ejecuta la acción de empezar a seguir ni nada más. Me da este error:

    Failed to follow user followers, continuing Error: Evaluation failed: TypeError: Cannot read property ‘user’ of undefined
    at __puppeteer_evaluation_script__:1:61
    at ExecutionContext._evaluateInternal (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\ExecutionContext.js:217:19)
    at runMicrotasks ()
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async ExecutionContext.evaluate (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\ExecutionContext.js:106:16)
    at async followUserFollowers
    (C:\…..\bot\instauto\node_modules\instauto\index.js:457:22)
    at async Object.followUsersFollowers (C:\…..\instauto\node_modules\instauto\index.js:538:9)
    at async C:\…..\instauto\example.js:65:5
    — ASYNC —
    at ExecutionContext. (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\helper.js:109:19)
    at DOMWorld.evaluate (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\DOMWorld.js:84:24)
    — ASYNC —
    at Frame. (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\helper.js:109:19)
    at Page.evaluate
    (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\Page.js:883:14)
    at Page. (C:\…..\instauto\node_modules\puppeteer\lib\cjs\common\helper.js:110:27)
    at getCurrentUser
    (C:\…..\instauto\node_modules\instauto\index.js:285:17)
    at followUserFollowers
    (C:\…..\instauto\node_modules\instauto\index.js:457:28)
    at async Object.followUsersFollowers (C:\…..\instauto\node_modules\instauto\index.js:538:9)
    at async C:\…..\instauto\example.js:65:5

    Me puedes ayudar?

    Gracias de nuevo! Saludos.

    1. Compañero debes configurar tu ordenador para que ejecute script, busca en youtube como configurar tu sistema operativo para ejecutar script te toca ejecutar un comando adicional, saludos!!!

  5. Si. Todo en Chrome. He buscado y modificado que el ordenador pueda ejecutar scripts. Por eso se me hace raro, que el bot se ejecute, logeandose pero no sigue.

  6. Parabens pelo trabalho, programa funciona perfeitamente.
    Queria saber como faço para configurar para seguir pessoas por hastag, e para deixar de seguir mais rapidamente e mais uma vez parabens pelo trabalho e pela didatica.

  7. Genial, aparte se nota que has estado currando desde las versiones anteriores como instapy que a mí me funcionó una temporada.
    Tener algo así en proyectos web es como tener un asistente, muchas gracias Mauricio !
    Te iba a dejar algún euro de donación, pero al entrar el PayPal ? está en chino y se ve muy raro no quiero meter mi cuenta de paypal donde salen letras chinas y no entiendo nada ?用PayPal付款 请先输入您的邮箱地址或手机号码。
    Si miras de que salga la web de paypal normal avisa por twiter y vengo a soltarte algo que te lo mereces ?

  8. Muchas gracias por la respuesta, sin embargo, cuando configuro el navegador para el uso del proxy, y luego ejecuto el script el navegador se abre y luego se cierra y sale el siguiente mensaje:

    Error: net::ERR_INVALID_AUTH_CREDENTIALS at https://www.instagram.com/
    at navigate (C:\Users\WhatUpTime.com\Documents\bot js\node_modules\puppeteer\lib\cjs\puppeteer\common\FrameManager.js:113:23)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async FrameManager.navigateFrame (C:\Users\WhatUpTime.com\Documents\bot js\node_modules\puppeteer\lib\cjs\puppeteer\common\FrameManager.js:88:21)
    at async Frame.goto (C:\Users\WhatUpTime.com\Documents\bot js\node_modules\puppeteer\lib\cjs\puppeteer\common\FrameManager.js:405:16)
    at async Page.goto (C:\Users\WhatUpTime.com\Documents\bot js\node_modules\puppeteer\lib\cjs\puppeteer\common\Page.js:826:16) at async Instauto (C:\Users\WhatUpTime.com\Documents\bot js\node_modules\instauto\index.js:701:3)
    at async C:\Users\WhatUpTime.com\Documents\bot js\instauto\example.js:59:22
    Closing browser

  9. Hola! Me ha dejado de funcionar.
    Cuando ejecuto, me abre todo normalmente, incluso abre Chromium e ingresa a la cuenta de Instagram, pero luego no ejecuta ninguna acción.

    Me aparece esta línea:
    WARNING: Login has not succeeded. This could be because of an incorrect username/password, or a “suspicious login attempt”-message. You need to manually complete the process.

    Podrías ayudarme, por favor?

    Muchas gracias y un saludo!

  10. buen dia !! Lo active para una cuenta y me funciono perfecto pero cuando quiero activarlo para otra cuenta me sale el siguiente error:

    Failed to follow user followers, continuing Error: Evaluation failed: TypeError: Cannot read property ‘user’ of undefined
    at __puppeteer_evaluation_script__:1:61
    at ExecutionContext._evaluateInternal (C:\Users\Alejandro\Desktop\bot agus\node_modules\puppeteer\lib\cjs\puppeteer\common\ExecutionContext.js:217:19) at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async ExecutionContext.evaluate (C:\Users\Alejandro\Desktop\bot agus\node_modules\puppeteer\lib\cjs\puppeteer\common\ExecutionContext.js:106:16)
    at async followUserFollowers (C:\Users\Alejandro\Desktop\bot agus\node_modules\instauto\index.js:492:22)
    at async Object.followUsersFollowers (C:\Users\Alejandro\Desktop\bot agus\node_modules\instauto\index.js:574:9)
    at async C:\Users\Alejandro\Desktop\bot agus\example.js:65:5

  11. ya no funciona ninguna instancia y me iva todo perfecto.

    me salta este error siempre:

    PS C:\Users\Srta.Dowtfire\Documents\rude\instauto> node example
    TimeoutError: Navigation timeout of 30000 ms exceeded
    at C:\Users\Srta.Dowtfire\Documents\rude\instauto\node_modules\puppeteer\lib\cjs\puppeteer\common\LifecycleWatcher.js:106:111
    Closing browser

      1. Buenos dias

        Me sale este error

        WARNING: Login has not succeeded. This could be because of an incorrect username/password, or a “suspicious login attempt”-message. You need to manually complete the process.

        No es el password por que al final loguea sin novedad, pero no inicia los scripts se quedan en waiting 5 ..6 ..6 y nunca inicia, le di “fui yo” a la ubicacion de inicio de sesion pero el error persiste y no inicia el bot. te agradezco la ayuda y de antemano gracias.

Deja una respuesta

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

×
¿Qué te interesa?
Selecciona los temas de interés sobre
los que deseas recibir noticias: