Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pageton/akinatorjs
Akinator game library for Node.js
https://github.com/pageton/akinatorjs
akinator akinatorjs game games javascript npm npm-package typescript
Last synced: about 1 month ago
JSON representation
Akinator game library for Node.js
- Host: GitHub
- URL: https://github.com/pageton/akinatorjs
- Owner: pageton
- License: mit
- Created: 2024-07-28T12:02:05.000Z (5 months ago)
- Default Branch: master
- Last Pushed: 2024-08-16T21:31:29.000Z (4 months ago)
- Last Synced: 2024-10-29T02:48:22.639Z (about 2 months ago)
- Topics: akinator, akinatorjs, game, games, javascript, npm, npm-package, typescript
- Language: TypeScript
- Homepage:
- Size: 33.2 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Akinator
Akinator is a Node.js library for interacting with the Akinator web game. It allows you to play the Akinator game programmatically, answering questions and guessing the character.
## Installation
To install the Akinator library, use [npm](https://www.npmjs.com/package/akinatorjs):
```bash
npm install akinatorjs
```## Usage
To use the Akinator library, import the `Akinator` class and create an instance:
```javascript
import { Akinator, Language } from "akinator";const akinator = new Akinator(Language.English);
```### Starting a New Game
To start a new game, call the `startGame()` method:
```javascript
const { ok, result } = await akinator.startGame();
if (ok) {
console.log(`New game started! Current question: ${result.question}`);
} else {
console.error("Error starting game:", result.error);
}
```### Answering Questions
To answer a question, use the `answerQuestion()` method:
```javascript
const { ok, result } = await akinator.answerQuestion("y", akinator.id);
if (ok) {
console.log(
`Current progress: ${result.progress}, Current question: ${result.question}`
);
} else {
console.error("Error answering question:", result.error);
}
```The `answerQuestion()` method takes the answer as the first argument and the game ID as the second argument.
### Going Back
To go back to the previous question, use the `back()` method:
```javascript
const { ok, result } = await akinator.back(akinator.id);
if (ok) {
console.log(
`Went back, current progress: ${result.progress}, current question: ${result.question}`
);
} else {
console.error("Error going back:", result.error);
}
```### Handling the Result
When the Akinator game is finished, the `answerQuestion()` method will return the result:
```javascript
const { ok, result } = await akinator.answerQuestion("y", akinator.id);
if (ok && result.photo) {
console.log(`Akinator guessed: ${result.name}`);
console.log(`Description: ${result.description}`);
console.log(`Photo: ${result.photo}`);
} else {
console.error("Error getting result:", result.error);
}
```## License
This project is licensed under the MIT License.
## Contributing
If you find any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository.