An API for Akinator based in NodeJS.
IMPORTANT: Version 4 is a functional approach while Version 5 is an object-oriented approach. Please be aware of the differences!
This package contains all the features that you will need to interact with the Akinator API. Below you will find information on how to install the package and utilize the package's features. This package supports 15 different languages.
Requirement | Version |
---|---|
Node | ^8.2.1 |
NPM | ^5.3.0 |
npm i aki-api
[
'en',
'en_objects',
'en_animals',
'ar',
'cn',
'de',
'de_animals',
'es',
'es_animals',
'fr',
'fr_objects',
'fr_animals',
'il',
'it',
'it_animals',
'jp',
'jp_animals',
'kr',
'nl',
'pl',
'pt',
'ru',
'tr'
]
const { Aki } = require('aki-api');
const region = 'en';
const aki = new Aki(region);
await aki.start();
console.log('question:', aki.question);
console.log('answers: ', aki.answers);
question: Is your character real?
answers: [
"Yes",
"No",
"Don't know",
"Probably",
"Probably not"
]
const { regions } = require('aki-api');
console.log(regions);
const { Aki } = require('aki-api');
const region = 'en';
const aki = new Aki(region);
await aki.start();
const myAnswer = 0; // yes = 0
await aki.step(myAnswer);
console.log('question:', aki.question);
console.log('answers:', aki.answers);
console.log('progress:', aki.progress);
To determine a win use the progress
property. I like to do something like if(aki.progress >= 70)
or check the current step against the max of 80
const { Aki } = require('aki-api');
const region = 'en';
const aki = new Aki(region);
await aki.start();
const myAnswer = 0; // yes = 0
await aki.step(myAnswer);
if (aki.progress >= 70 || aki.currentStep >= 78) {
await aki.win();
console.log('firstGuess:', aki.answers);
console.log('guessCount:', aki.guessCount);
}
const { Aki } = require('aki-api');
const region = 'en';
const childMode = true;
const aki = new Aki(region, childMode);
await aki.start();
const myAnswer = 0; // yes = 0
await aki.step(myAnswer);
if (aki.progress >= 70 || aki.currentStep >= 78) {
await aki.win();
console.log('firstGuess:', aki.answers);
console.log('guessCount:', aki.guessCount);
}
firstGuess: [
{
"id": "78924",
"name": "YoRHa No.2 Type B \/ 2B",
"id_base": "9241962",
"proba": "0.953825",
"description": "NieR: Automata",
"valide_contrainte": "1",
"ranking": "1678",
"minibase_addable": "0",
"relative_id": "-1",
"pseudo": "TitansBane",
"picture_path": "partenaire\/b\/9241962__1967810663.jpg",
"flag_photo": "2",
"absolute_picture_path": "http:\/\/photos.clarinea.fr\/BL_25_en\/600\/partenaire\/b\/9241962__1967810663.jpg"
},
{
"id": "85376",
"name": "2B",
"id_base": "11509417",
"proba": "0.0286481",
"description": "NieR: Automata",
"valide_contrainte": "1",
"ranking": "25597",
"minibase_addable": "0",
"relative_id": "-1",
"pseudo": "2BIsMyWaifu",
"picture_path": "partenaire\/o\/11509417__321330868.jpg",
"flag_photo": "2",
"absolute_picture_path": "http:\/\/photos.clarinea.fr\/BL_25_en\/partenaire\/o\/11509417__321330868.jpg"
}
]
guessCount: 2
const { Aki } = require('aki-api');
const region = 'en';
const aki = new Aki(region);
await aki.start();
const myAnswer = 1; // no = 1
await aki.step(myAnswer);
await aki.back();
console.log('question:', aki.question);
console.log('answers:', aki.answers);