Type-safe, modular Discord HTTP bot framework. Webhook-first, edge-ready, zero unnecessary gateways.
Discrete routers for commands, components, and modals - compose what you need, nothing more.
Chainable builders for embeds, components, and rich message payloads with full type inference.
Built-in OAuth2 token management and verification flows for Discord's API.
Built on @vercel/functions and discord-api-types. Deploy to serverless or Node with zero config.
End-to-end TypeScript types from gateway to handler. Catch payload mismatches at compile time.
Respond via webhooks by default. No persistent gateway connection needed for most interactions.
import { createApp } from "@theminesastudios/mini-interaction";
import { pingCommand } from "./commands/ping";
import { verifyRouter } from "./routers/verify";
const app = createApp({ publicKey: process.env.DISCORD_PUBLIC_KEY });
app.use(pingCommand);
app.use(verifyRouter);
export const POST = app.handle();
// -> Deploy to Vercel as a serverless function.Slash commands and context menus with typed options, autocomplete, and subcommand grouping.
Buttons, select menus, and modal submissions with type-safe custom ID routing and state.
Modal submit handlers with validated fields, structured responses, and error recovery.
MIT · The Minesastudios · mini-interaction v0.4.18