Chat SDK adapter for Beeper Desktop API built on top of @beeper/desktop-api.
npm install @beeper/chat-adapter-beeper-desktopimport { Chat } from "chat";
import { createMemoryState } from "@chat-adapter/state-memory";
import { createBeeperDesktopAPIAdapter } from "@beeper/chat-adapter-beeper-desktop";
const adapter = createBeeperDesktopAPIAdapter({
accessToken: process.env.BEEPER_DESKTOP_API_ACCESS_TOKEN!,
botUserID: process.env.BEEPER_DESKTOP_API_BOT_USER_ID,
defaultAccountID: process.env.BEEPER_DESKTOP_API_DEFAULT_ACCOUNT_ID,
});
const bot = new Chat({
userName: "bot",
adapters: { beeperDesktopAPI: adapter },
state: createMemoryState(),
});
await bot.initialize();
console.log(adapter.getDesktopAPIServerInfo());
await adapter.startEventsListener(["*"]);openDM(userID)with either:- scoped input
<accountID>:<participantID>, or defaultAccountIDin adapter config
- scoped input
fetchMessage(threadID, messageID)fetchChannelInfo(channelId)listThreads(channelId, { cursor, limit })- auto reconnect for WS listener (
wsReconnectDelayMs, default3000) - auto server version detection (
/v1/infofirst, then response headers fallback)
A runnable logger example is included in examples/logger.
Run it:
BEEPER_DESKTOP_API_ACCESS_TOKEN=... npm run example:loggerIf you run the example file directly:
npm run build
cd examples/logger
BEEPER_DESKTOP_API_ACCESS_TOKEN=... node index.mjsOptional env vars:
BEEPER_DESKTOP_API_BASE_URL(defaulthttp://localhost:23373)BEEPER_DESKTOP_API_BOT_USER_IDBEEPER_DESKTOP_API_BOT_NAMEBEEPER_DESKTOP_API_CHAT_IDS(comma-separated, default*)BEEPER_DESKTOP_API_DEFAULT_ACCOUNT_ID