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,
}