Put an [x] if you meet the condition, else leave [ ].
Why i'm stuck in looping challenge_required ?
i always click it was me Button. but after login again stuck in challenge_required again.
A meaningful section of your code (else delete this). If you are using TypeScript replace js with typescript.
const { IgApiClient, IgCheckpointError } = require('instagram-private-api');
const Bluebird = require('bluebird');
const inquirer = require('inquirer');
/**
* This method won't catch all checkpoint errors
* There's currently a new checkpoint used by instagram which requires 'web-support'
*/
(async () => {
const ig = new IgApiClient();
ig.state.generateDevice('user');
Bluebird.try(async () => {
const auth = await ig.account.login('user', 'pw');
console.log(auth);
}).catch(IgCheckpointError, async () => {
console.log(ig.state.checkpoint); // Checkpoint info here
await ig.challenge.auto(true); // Requesting sms-code or click "It was me" button
console.log(ig.state.checkpoint); // Challenge info here
const { code } = await inquirer.prompt([
{
type: 'input',
name: 'code',
message: 'Enter code',
},
]);
console.log(await ig.challenge.sendSecurityCode(code));
}).catch(e => console.log('Could not resolve checkpoint:', e, e.stack));
})();
{
message: 'challenge_required',
challenge: {
url: 'https://i.instagram.com/challenge/7536877086/C5B3T4qlLZ/',
api_path: '/challenge/7536877086/C5B3T4qlLZ/',
hide_webview_header: true,
lock: true,
logout: false,
native_flow: true
},
status: 'fail',
error_type: 'checkpoint_challenge_required'
}
Well i found a solution lol.
This is the step
Good Luck!
also change the
ig.state.generateDevice(...);
@areltiyan
Where does it need to be pasted?
- Paste code in bot
@tomopan
maybe you can test this
that code you can get from Email or SMS
const { IgApiClient, IgCheckpointError } = require('instagram-private-api');
const Bluebird = require('bluebird');
const inquirer = require('inquirer');
/**
* This method won't catch all checkpoint errors
* There's currently a new checkpoint used by instagram which requires 'web-support'
*/
const IG_USER = '';
const IG_PW = '';
(async () => {
const ig = new IgApiClient();
ig.state.generateDevice(IG_USER);
Bluebird.try(async () => {
const auth = await ig.account.login(IG_USER, IG_PW);
console.log(auth);
}).catch(IgCheckpointError, async () => {
console.log(ig.state.checkpoint); // Checkpoint info here
await ig.challenge.selectVerifyMethod(1, false); //1. Email 0. SMS send code OTP
console.log(ig.state.checkpoint); // Challenge info here
console.log(chalk.green('[+++] Check OTP Email'))
const { code } = await inquirer.prompt([
{
type: 'input',
name: 'code',
message: 'Enter code',
},
]);
console.log(await ig.challenge.sendSecurityCode(code));
}).catch(e => console.log('Could not resolve checkpoint:', e, e.stack));
})();
Most helpful comment
@tomopan
maybe you can test this
that code you can get from Email or SMS