/bigbluebutton-rs

Rust Library for interacting with BBB APIs.

Primary LanguageRustMIT LicenseMIT

bigbluebutton-rs

Crates.io Documentation build

Rust crate for interacting with BBB APIs.

BigBlueButton is an open source web conferencing system for online learning.

This crate provides an interface for interacting with Bigbluebutton APIs. More details can be found here.

Examples

Gerenating API urls

use bigbluebutton::Bigbluebutton;

// Creates new BBB Instance
let client = Bigbluebutton::new(
    "https://example.com/bigbluebutton/",
    "BBBSECRET",
  );

let params = vec![
    ("password", "pass"),
    ("fullName", "name"),
    ("meetingID", "1"),
  ];

let url = client.generate_url("join", params);

println!("{}",url) // https://example.com/bigbluebutton/api/join?password=pass&fullName=name&meetingID=1&checksum=94e467c1b4b13f4452ca5d1deb9b7b74e1063aea55fe078139015a7d6311cfdf

Creating Meeting

// creaing meeting
use bigbluebutton::administration::CreateMeetingRequest;
use bigbluebutton::{Bigbluebutton, Execute};

#[tokio::main]
async fn main() {
    let client = Bigbluebutton::new("https://example.com/bigbluebutton/", "secret");
    let mut request = CreateMeetingRequest::new();
    request.meeting_id = Some("12".to_string());
    request.moderator_pw = Some("modp".to_string());
    request.attandee_pw = Some("akarr".to_string());

    let _response = client.create_meeting(&request).await;
}

API Implementation status

Administration

  • create
  • getDefaultConfigXML
  • setConfigXML
  • end

Monitoring

  • isMeetingRunning
  • getMeetings
  • getMeetingsInfo

Recording

  • getRecordings
  • publishRecordings
  • deleteRecordings
  • updateRecordings
  • getRecordingTextTracks
  • putRecordingTextTrack

Webhooks

  • Hooks/Create
  • Hooks/Destroy
  • Hooks/List