쉬운 퀴즈로 퀴즈 질문 검색

쉬운 퀴즈



Easy Trivia는 OpenTriviaDatabase을 위한 작고 단순하며 빠른 래퍼입니다. 무료로 사용할 수 있는 사용자 제공 퀴즈 질문 데이터베이스입니다. 이 모듈은 가볍고 사용하기 쉬우며 완전히 입력되었습니다!

⚠️ 이 모듈은 CommonJS를 지원하지 않는 ES6 모듈입니다.

Discord.JS를 사용하는 경우 체크아웃discord-trivia

설정



JavaScript 또는 TypeScript 프로젝트를 설정합니다. 다음과 함께 NPM을 통해 Easy Trivia 설치

npm i easy-trivia


그런 다음 index.js 파일을 만듭니다.

기본 API 호출



이 라이브러리의 빵과 버터는 getQuestions() 함수입니다. 다음과 같이 검색하려는 질문의 종류를 설명하는 옵션을 제공합니다.
amount - 가져올 질문의 양(최소 1, 최대 50)difficulty - 질문의 난이도.type - 질문 유형(참/거짓 또는 객관식)category - 질문의 범주입니다.

import { Category, getQuestions } from 'easy-trivia';

async function sample() {
   const questions = await getQuestions({
      amount: 3,
      difficulty: 'easy',
      type: 'multiple',
      category: Category.random()
   });

   console.log(questions);
}

sample();


결과는 질문 자체, 메타데이터, 문자열을 수신하고 질문의 정답과 비교하여 확인하는 함수를 포함하는 질문 배열입니다.

[
{
    value: 'The Italian automaker Lamborghini uses what animal as its logo?',
    category: 'Vehicles',
    type: 'multiple',
    difficulty: 'easy',
    correctAnswer: 'Bull',
    incorrectAnswers: [ 'Bat', 'Horse', 'Snake' ],
    allAnswers: [ 'Bat', 'Horse', 'Snake', 'Bull' ],
    checkAnswer: [Function: checkAnswer]
  },
...
]


카테고리



OpenTDB에는 선택할 수 있는 23개의 범주가 있습니다.

GENERAL_KNOWLEDGE,
ENTERTAINMENT_BOOKS,
ENTERTAINMENT_FILM,
ENTERTAINMENT_MUSIC,
ENTERTAINMENT_MUSICALS_AND_THEATRES,
ENTERTAINMENT_TELEVISION,
ENTERTAINMENT_VIDEO_GAMES,
ENTERTAINMENT_BOARD_GAMES,
SCIENCE_AND_NATURE,
SCIENCE_COMPUTERS,
SCIENCE_MATHEMATICS,
MYTHOLOGY,
SPORTS,
GEOGRAPHY,
HISTORY,
POLITICS,
ART,
CELEBRITIES,
ANIMALS,
VEHICLES,
ENTERTAINMENT_COMICS,
SCIENCE_GADGETS,
ENTERTAINMENT_JAPANESE_ANIME_AND_MANGA,
ENTERTAINMENT_CARTOON_AND_ANIMATIONS,

Category 클래스를 사용하여 이러한 범주를 탐색하십시오. Category.allNames를 사용하면 23개 범주에 대한 인텔리센스를 받게 됩니다.

import { Category } from 'easy-trivia';

Category.allNames. // ANIMALS, ART ...


CategoryResolvable을 생성자에 전달하여 범주를 시작할 수 있습니다.

import { Category } from 'easy-trivia';


let myCategory = new Category(9);

myCategory = new Category('GENERAL_KNOWLEDGE');

myCategory = new Category(Category.allNames.GENERAL_KNOWLEDGE);


인스턴스가 있으면 카테고리의 API 데이터를 실시간으로 검색할 수 있습니다.

const data = await myCategory.getData();


세션



OpenTDB API 세션은 제공한 질문을 추적하고 여러 API 호출에서 중복 질문을 방지할 수 있습니다.

import { Session, getQuestions } from 'easy-trivia';

const session = new Session();

async function sessionCalls() {
   await session.start();

   const batch1 = await getQuestions({
      amount: 10,
      difficulty: 'hard',
      session
   });

   const batch2 = await getQuestions({
     amount: 10,
     difficulty: 'hard',
     session
   });


   const completeBatch = [...batch1, ...batch2]; // All unique!
}

session.end();


NPM: https://www.npmjs.com/package/easy-trivia
GitHub: https://github.com/Elitezen/easy-trivia
문서: https://github.com/Elitezen/easy-trivia/wiki/Documentation

좋은 웹페이지 즐겨찾기