bbb-api-ts
v1.0.0
Published
JavaScript wrapper for BigBlueButton API
Downloads
117
Readme
BigBlueButton js UPDATED
This library is based on the original bigbluebutton-js, providing updates for deprecated packages and full TypeScript typing for a more robust and modern development experience. This is a layer to interact with BigBlueButton API.
Features
- Supports BBB API
- Provides methods to construct URLs, and calculate SHA checksum
- Provides HTTP client that converts XML responses to JS objects
Installation
npm i bbb-api-ts
Usage
You will need to provide BigBlueButton URL and secret to the script. You can obtain them by logging into you BBB server, and running:
bbb-conf --secret
Use the obtained values in your script:
const bbb = require('bigbluebutton-js')
let api = bbb.api(process.env.BBB_URL, process.env.BBB_SECRET)
Examples
The following example shows how to create a room, and links for moderator and attendee to join:
const bbb = require('bigbluebutton-js')
// BBB_URL and BBB_SECRET can be obtained
// by running bbb-conf --secret on your BBB server
// refer to Getting Started for more information
let api = bbb.api(process.env.BBB_URL, process.env.BBB_SECRET)
let http = bbb.http
// api module itself is responsible for constructing URLs
let meetingCreateUrl = api.administration.create('My Meeting', '1', {
duration: 2,
attendeePW: 'secret',
moderatorPW: 'supersecret',
})
// http method should be used in order to make calls
http(meetingCreateUrl).then((result) => {
console.log(result)
let moderatorUrl = api.administration.join('moderator', '1', 'supersecret')
let attendeeUrl = api.administration.join('attendee', '1', 'secret')
console.log(`Moderator link: ${moderatorUrl}\nAttendee link: ${attendeeUrl}`)
let meetingEndUrl = api.administration.end('1', 'supersecret')
console.log(`End meeting link: ${meetingEndUrl}`)
})
a
Tests
To run the test suites some prior configuration is required. First, create a .env
file in library root. The file should have the following content:
BBB_URL=https://mysite.com/bigbluebutton
BBB_SECRET=MySuperSecretSharedToken
Make sure, you installed development dependencies (vitest, and dotenv). Now you can run npm run test
:
npm run test
Acknowledgments
- Inspired by bigbluebutton-js