Special thanks to wKovacs64, he saved me hours of google time!
yarn add opentriviaapi
or
npm install opentriviaapi --save
./src
index.js
openTriviaAPI.js
responses.js
./test
test.js
Application entry point.
| 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) |
| Function | Description |
|---|---|
| getToken() | Get a token from API. |
| resetToken() | Reset token. |
Exposes the API response values to our app.
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
}
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,
}
