opentriviaapi
v0.1.1
Published
An API wrapper for the openTriviaAPI
Downloads
19
Readme
OpenTrivia API
Special thanks to wKovacs64, he saved me hours of google time!
Install
yarn add opentriviaapior
npm install opentriviaapi --saveFile structure:
./src
index.js
openTriviaAPI.js
responses.js
./test
test.jsindex.js
Application entry point.openTrivia.js
Core Functions:
| Function | Description | | ---------------- | ----------------------------------------------- | | _axios() | Create axios instance. (Not for General use) | | _fetchFromAPI() | Makes our calls to API. (Not for General use) | | getQuestions() | Get questions from API. | | listCategories() | Get a list of available categories (No options) |
Helper functions:
| Function | Description | | ------------ | --------------------- | | getToken() | Get a token from API. | | resetToken() | Reset token. |
responses.js
Exposes the API response values to our app.getQuestions API query specifics:
options = {
amount: {Number} // Amount of questions, null=1,
category: {Number} // use category.js, null=any,
difficulty: {String} // (easy, medium, hard), null=any,
type: {String} // (multiple, boolean), null=any,
encode: {string} // (url3986, base64), null=default encoding
}getQuestions Query options:
Amount {Number}:
| Value | Description | | ------ | ----------------------------- | | 1 - 50 | any Integer between 1 and 50. |
Example: options = {
amount: 35
}Category {Number}:
| Value | Name | | ------ | ---------------------------------- | | "null" | Any category | | 9 | General Knowledge | | 10 | Entertainment: Books | | 11 | Entertainment: Film | | 12 | Entertainment: Music | | 13 | Entertainment: Musicals & Theatres | | 14 | Entertainment: Television | | 15 | Entertainment: Video Games | | 16 | Entertainment: Board Games | | 17 | Science & Nature | | 18 | Science: Computers | | 19 | Science: Mathematics | | 20 | Mythology | | 21 | Sports | | 22 | Geography | | 23 | History | | 24 | Politics | | 25 | Art | | 26 | Celebrities | | 27 | Animals |
Example: options = {
category: 18
}Difficulty {String}:
| Values | Description | | --------- | ------------------------ | | "null" | Any difficulty | | easy | Only easy questions | | medium | Only medium questions | | difficult | Only difficult questions |
Example: options = {
type: 'medium'
}Type {String}:
| Value | Description | | -------- | ------------------------------ | | "null" | Any type of questions | | multiple | Multiple choice questions only | | boolean | True / False questions only |
Example: options = {
type: 'multiple'
}Encode {String}:
| Value | Description | | ------- | --------------------------- | | "null" | Default Encoding HTML codes | | url3986 | URL Encoding (RFC 3986) | | base64 | Base64 encoding |
Example: options = {
encode: 'url3986'
}Token {String}:
| Value | Description | | ------- | ----------------------------- | | "null" | No token in query | | "token" | Use getToken() to get a token |
Example:
let token;
opentriviaapi.getToken()
.then((data) => {
token = data.token;
});
opentriviaapi.getQuestions({token: token})
.then((data) => {
console.log(data);
});Combined:
Example: options = {
amount: 35,
category: 18,
difficulty: 'easy',
type: 'multiple',
encode: 'url3986',
token: token,
}