opentriviaapi

0.1.1 • Public • Published

OpenTrivia API

Build Status Coverage Status

Special thanks to wKovacs64, he saved me hours of google time!

Install

    yarn add opentriviaapi

or

    npm install opentriviaapi --save

File structure:

    ./src
        index.js
        openTriviaAPI.js
        responses.js
    ./test
        test.js

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

Readme

Keywords

none

Package Sidebar

Install

npm i opentriviaapi

Weekly Downloads

8

Version

0.1.1

License

MIT

Unpacked Size

160 kB

Total Files

11

Last publish

Collaborators

  • sbardian