Options
All
  • Public
  • Public/Protected
  • All
Menu

chatexchange

ChatExchange

Build Build Status Coverage Status

A Node.js API for talking to Stack Exchange chat (Largely based on ChatExchange for python)

Installation

Using NPM:

$ npm i chatexchange

Example

const Client = require("chatexchange");

const { ChatEventType } = require("chatexchange");

const main = async () => {
const client = new Client("stackoverflow.com");

await client.login("EMAIL", "PASSWORD");

const me = await client.getMe();

const myProfile = await client.getProfile(me);

const { roomCount } = myProfile;
console.log(`Rooms I am in: ${roomCount}`);

const room = client.getRoom(167908);

room.ignore(ChatEventType.FILE_ADDED);

const joined = await client.joinRoom(room);
if(joined) {
room.on("message", async (msg) => {
console.log("Got Message", msg);

const { eventType, targetUserId } = msg;

if (eventType === ChatEventType.USER_MENTIONED && targetUserId === me.id) {
await msg.reply("Hello World!");
}

if(eventType === ChatEventType.USER_LEFT) {
await msg.send("See you around!", room);
}
});

// Leave the room after five minutes
setTimeout(async () => {
await room.sendMessage("Bye everyone!");
await client.leaveRoom(room);
}, 3e5);

// Connect to the room, and listen for new events
await room.watch();
return;
}

await client.logout();
};

main();

Implementations

Featured projects using ChatExchange:

Generated using TypeDoc