Typescript client for Fedwave-compatible chat servers
Go to file
Upkeep 89311aa4d8
fix: fix channel listing
`channelViewers` is now updated properly
2023-02-13 23:09:31 +01:00
src fix: fix channel listing 2023-02-13 23:09:31 +01:00
.gitignore ci: update repo link 2023-02-11 18:47:09 +01:00
LICENSE Initial commit 2023-02-11 17:32:45 +00:00
README.md import files to git 2023-02-11 17:35:12 +00:00
package-lock.json import files to git 2023-02-11 17:35:12 +00:00
package.json ci: update repo link 2023-02-11 18:47:09 +01:00
tsconfig.json import files to git 2023-02-11 17:35:12 +00:00
tsfmt.json import files to git 2023-02-11 17:35:12 +00:00

README.md

fedwave-chat-client

Basic API client for [fedwave] chat. Provides minimal functionality.

Install with:

npm install fedwave-chat-client

Usage

import { FedwaveChat } from 'fedwave-chat-client';

const fedwaveChat = new FedwaveChat();

/* NOTE: These are the default implementations */

// 'ms' is an array of message objects delivered by the server
fedwaveChat.rcvMessageBulk = ms => {
  for( const m of ms ) {
    console.log( m.message );
  }
};

// Global chat setting
fedwaveChat.global = true;

// Connects to chat, to the specified room, with the token
// Note: the token cannot be changed after init()
fedwaveChat.connect( 'myroom', 'chat-token', 'fedwavechatserverurl' );

fedwaveChat.sendMessage( 'Hello, world!' );
fedwaveChat.room = 'global';
fedwaveChat.sendMessage( 'Hi, global' );

fedwaveChat.sendMessage({
  message: 'Hello, all',
  channel: 'markpugner',
  global: false,
  showBadge: true
});

The API is unstable because Fedwave itself is unstable. src/api.ts is entirely JSDoc annotated, so go there for documentation.