@theokit/gateway-discord
v0.1.0
Published
Discord (discord.js) platform adapter for @theokit/gateway. ADRs D171, D179.
Readme
@theokit/gateway-discord
Discord platform adapter for @theokit/gateway. Wraps discord.js in the BasePlatformAdapter contract.
Status: 0.1.0 — pre-release.
Install
pnpm add @theokit/gateway-discord @theokit/gateway @theokit/sdk discord.jsUsage
import { GatewayRunner } from "@theokit/gateway";
import { DiscordAdapter } from "@theokit/gateway-discord";
const adapter = new DiscordAdapter({
token: process.env.DISCORD_BOT_TOKEN!,
// intents defaults to [Guilds, GuildMessages, MessageContent,
// DirectMessages, DirectMessageReactions]. Without MessageContent
// the bot receives empty msg.content — silent failure (EC-C).
});
const runner = new GatewayRunner({
adapters: [adapter],
handler: async (event, ctx) => {
await ctx.reply(`got: ${event.text}`);
},
});
await runner.start();Limitations (v0.1)
- Text-trigger commands only. Proper Discord slash commands (registered via Application Commands API) are out of scope — use
event.text.startsWith("!cmd")for now. - WebSocket only (ADR D179). No webhook-based bot mode.
- Voice channels not exposed via
MessageEvent. Useevent.discord?.rawfor advanced cases.
License
Apache-2.0
