Coder Social home page Coder Social logo

opentriviaapi's Introduction

OpenTrivia API

Project frozen Project unmaintained 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,
            }

opentriviaapi's People

Contributors

sbardian avatar renovate-bot avatar renovate[bot] avatar wkovacs64 avatar

Stargazers

Mark Bobsin avatar

Watchers

Mark Bobsin avatar  avatar  avatar

opentriviaapi's Issues

Difficulty not being set

add this to the getQuestions function

if (options.difficulty) { params.push('difficulty=' + encodeURIComponent(options.difficulty)); }

Thank you for your app!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.