Getting Started

Comece a usar discord-flow em menos de 5 minutos

O que é discord-flow?

discord-flow é um framework HTTP-only para criar bots Discord. Diferente de bibliotecas tradicionais como discord.js, não usa o WebSocket Gateway.

Seu bot só recebe as interações que você precisa (comandos, botões, modais), consumindo muito menos memória.

Comparação de RAM

discord.js
~300-500 MB
discord-flow
~30-50 MB

Requisitos

  • Node.js 18+ ou Bun
  • Uma aplicação Discord
  • URL pública para webhooks (ngrok para dev)

Instalação

bash
npm install discord-flow

Configuração do Discord

  1. 1Acesse o Discord Developer Portal
  2. 2Crie uma nova aplicação ou selecione uma existente
  3. 3Copie o Application ID e Public Key
  4. 4Na aba Bot, copie o Token
  5. 5Configure o Interactions Endpoint URL

Seu primeiro bot

typescript
1import { FlowRegistry, FlowEngine, MemoryStore, createServer } from 'discord-flow';
2
3const registry = new FlowRegistry();
4const engine = new FlowEngine(registry, new MemoryStore());
5
6registry.define('ping', (flow) => {
7 flow.start('idle');
8
9 flow.state('idle')
10 .on.command({
11 name: 'ping',
12 description: 'Responde com pong!'
13 }, () => ({
14 response: { content: 'Pong!' }
15 }));
16});
17
18createServer({
19 publicKey: process.env.DISCORD_PUBLIC_KEY,
20 token: process.env.DISCORD_TOKEN,
21 engine
22}).start();

Executando

bash
npx tsx --env-file=.env src/main.ts

O servidor vai iniciar e registrar automaticamente seus comandos no Discord.