1
0
mirror of https://github.com/pcvolkmer/arsnova-client.git synced 2025-04-19 11:06:51 +00:00
2023-12-20 01:23:54 +01:00
2023-12-20 01:23:54 +01:00
2023-12-20 01:23:54 +01:00

ARSnova-client

An ARSnova live feedback client library

Usage

Initialize client and login

Create a client using and request guest login.

let client = Client::new("https://ars.particify.de/api").expect("client created");
client.guest_login().await;

Request room information

The room information contains the name, ID and the 8-digit short ID of the requested room.

let room_info = client.get_room_info("12345678").await.expect("room information");

Feedback

You can get feedback information in two different ways: Direct request and getting notified about changes.

Direct request

You can request (poll) the current feedback:

let feedback = client.get_feedback("12345678").await.expect("current feedback");

Getting notified

To handle feedback changes, you can use a handler function or forward the feedback to a channel.

Handle feedback changes using a function:

client.on_feedback_changed( & cli.room, FeedbackHandler::Fn(|feedback| {/*...*/})).await;

Forward feedback to a channel:

let (tx, rx) = tokio::sync::mpsc::channel::<Feedback>(10);

client.on_feedback_changed( & cli.room, FeedbackHandler::Sender(tx.clone())).await;

Example

See examples/arsnova-client-tui.rs for a simple terminal-based feedback client application.

arsnova-client-tui 23269388

arsnova-client-tui

Description
ARSnova live feedback client library
Readme 142 KiB
Languages
Rust 100%