A lightweight Discord Gateway client focused on message handling.
bun install better-discord-clientimport { DiscordClient } from "better-discord-client";
const client = new DiscordClient("YOUR_BOT_TOKEN");
client.on_ready((data) => {
console.log(`Connected as ${data.user.username}`);
});
client.on_message((msg) => {
console.log(`${msg.author.username}: ${msg.content}`);
});
await client.connect();new DiscordClient(token: string, options?: DiscordClientOptions)interface DiscordClientOptions {
intents?: number; // Gateway intents (defaults to GUILDS, GUILD_MESSAGES, DIRECT_MESSAGES, MESSAGE_CONTENT)
}All handlers receive raw Discord payloads:
client.on_ready((data: ReadyData) => {});
client.on_message((message: Message) => {});
client.on_message_update((message: Message) => {});
client.on_message_delete((data: MessageDelete) => {});
client.on_message_delete_bulk((data: MessageDeleteBulk) => {});
client.on_error((error: Error) => {});
client.on_disconnect((code: number, reason: string) => {});await client.connect(); // Connect to Discord Gateway
client.disconnect(); // Clean disconnect
client.is_connected(); // Check connection status
client.get_session_id(); // Get current session ID
client.get_sequence_number(); // Get current sequence numberMIT