1.0.1 • Published 2 years ago

@theolive/chat v1.0.1

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

THEOlive chat


THEOlive chat is a chat add-on for THEOlive channels. It allows viewers of a THEOlive channel to interact with each other through a chat. A valid THEOlive channelId is required.

Installation


npm install @theolive/chat

Example Usage


// Join chatroom of THEOlive channel associated with channelId under chosen username
var chatClient = await THEOLiveChat.joinChatChannel(channelId, username)

// Handler for new chat messages of channel associated with channelId
function chatMessageListener(message) {
    console.log(message)
}

// Add listener to handle incoming chat messages
chatClient.addOnChatMessageListener(chatMessageListener);
       
// Send message to channel
await chatClient.sendMessage("Hello everyone")

// Leave channel
await chatClient.disconnect();

API


THEOlivechat

Lets the user create a ChannelChatClient associated with a channelId and username. The channelId needs to be the channelId of an existing THEOlive channel.


async function joinChatChannel(channelId: string, username: string): Promise<ChannelChatClient> 

Joins the chatroom of the THEOlive channel with channelId under the chosen username.


ChannelChatClient

Allows for interaction with the chatroom associated with the ChannelId under the chosen username. Every ChannelChatClient is always associated with a specific channelId and username.


 async function sendMessage(message: string): Promise<void>

Sends a message to all the users that have a ChannelchatClient with the same channelId.


function addOnChatMessageListener(onMessageListener: (message: string) => void) 

Adds a listener which specifices how to react to incoming messages from the channel.


async function disconnect(): Promise<void> 

Disconnects the ChannelChatClient from the channel associated with the chosen channelId. When the promise resolves the user will be unable to send and receive messages through the channelChatClient.

1.0.1

2 years ago