#repeat #questions #category #context #wrapper #open-trivia-qa

otqa

A simple, no-API wrapper around the OpenTriviaQA database

3 stable releases

1.0.2 Apr 23, 2023
1.0.1 Apr 21, 2023

#981 in Database interfaces

48 downloads per month

MIT license

2.5MB
225 lines

A Rust wrapper around the OpenTriviaQA database

https://github.com/uberspot/OpenTriviaQA

This is a wrapper around the OpenTriviaQA database. This library has the questions built into the binary (they are ~8mb), so it's useful where other trivia libraries cannot function (e.g. WASM).

Code Example

// Create the context, loading all trivia questions. Here is also where you specify whether or not you would like questions to repeat themselves
let mut ctx = otqa::TriviaContext::new(false);

// Pick a question at random of a specified category. There are twenty to choose from.
let question = ctx.get_question(otqa::Category::Animals, otqa::Seeding::Random);

// If you wanted to pick a specific question (e.g. if you wanted a custom seeding algorithm), the syntax would look like this:
// let question = ctx.get_question(otqa::Category::Animals, otqa::Seeding::Specific(0));
// It will pick the question of that category at that index, applying a modulo should it overflow the amount of questions

// Here are all fields of questions
println!("{}", question.question);
println!("Category: {:?}", question.category);
for answer in question.answers {
    println!("{}", answer);
}
println!("Correct answer: {}", question.correct_answer);

Dependencies