Giter Club home page Giter Club logo

Comments (3)

sjkummer avatar sjkummer commented on July 20, 2024

This library currently offers the following plugins:
https://github.com/sjkummer/janus-gateway-js/tree/master/src/webrtc/plugin

If you want to implement your own plugin, make sure to read https://github.com/sjkummer/janus-gateway-js#how-to-write-a-plugin

You also may want to send messages to janus directly using the session object (without a plugin).

The API to the janus TextRoom plugin is documented here: https://janus.conf.meetecho.com/docs/textroom.html

from janus-gateway-js.

webpolis avatar webpolis commented on July 20, 2024

Hello All,

i succeeded to connect and attache to textroom plugin.

but i don't found a way to list rooms, it says that i am missing request data !!!

here is my code :

janus.createConnection('id').then(function(connection) {
  connection.createSession().then(function(session) {
    session.attachPlugin('janus.plugin.textroom').then(function(plugin) {
      plugin.send({
        "janus":"message",
        "body":{"request":"setup"}
      }).then(function(response){});
      plugin.send({
        "janus":"message",
        "body":{ "textroom":"list" }
      }).then(function(response){});
    });
  });
});

thanks

any solution here?

from janus-gateway-js.

sjkummer avatar sjkummer commented on July 20, 2024

Listing the Janus TextRooms works as follows:

import Janus from 'janus-gateway-js'

var janus = new Janus.Client('ws://localhost:8188', {
    token: 'token',
    apisecret: 'apisecret',
    keepalive: 'true'
});

janus.createConnection('id').then(function(connection) {
    connection.createSession().then(function(session) {
        session.attachPlugin('janus.plugin.textroom').then(function(plugin) {
            const message = {
                body: {
                    request: "list",
                    textroom : "list",
                }
            };
            plugin.sendWithTransaction(message).then(function(response){
                const plainMessage = response.getPlainMessage();
                const list = plainMessage.plugindata.data.list;
                console.log(list);
            }).catch(e => {
                console.error(e);
            });
        });
    });
});

This will print something like:

[
  {
    room: 1234,
    description: 'Demo Room',
    pin_required: false,
    num_participants: 0
  }
]

If you want to do the setup request yourself, you also have to pass & handle all the WebRTC / Peerconnection stuff yourself. It's probably easier to add a plugin for that at https://github.com/sjkummer/janus-gateway-js/tree/master/src/webrtc/plugin and utilise the basic media / Peerconnection implementation (PRs welcome).
Be aware that sending chat messages in the Janus TextRoom uses a WebRTC Datachannel.

from janus-gateway-js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.