Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions discord-bot/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.dev.vars
151 changes: 151 additions & 0 deletions discord-bot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# Discord Bot MCP

MCP (Model Context Protocol) server para integração com Discord Bot API.

## Funcionalidades

### Mensagens
- Enviar mensagens em canais
- Editar mensagens existentes
- Deletar mensagens
- Fixar/desafixar mensagens
- Adicionar/remover reações
- Buscar mensagens de canais
- Buscar mensagens fixadas

### Canais
- Criar canais (texto, voz, categorias)
- Listar canais do servidor
- Buscar informações de canais específicos

### Servidores (Guilds)
- Listar servidores onde o bot está presente
- Buscar informações de servidores
- Listar membros do servidor
- Banir membros

### Roles
- Criar roles
- Editar roles
- Deletar roles
- Listar roles do servidor

### Threads
- Criar threads
- Entrar/sair de threads
- Listar threads ativas
- Listar threads arquivadas

### Webhooks
- Criar webhooks
- Executar webhooks
- Deletar webhooks
- Listar webhooks

### Usuários
- Buscar informações do usuário atual (bot)
- Buscar informações de usuários específicos

## Configuração

### Pré-requisitos

1. Criar um bot no [Discord Developer Portal](https://discord.com/developers/applications)
2. Obter o Bot Token
3. Adicionar o bot ao seu servidor com as permissões necessárias

### Instalação

1. Instale o MCP no seu workspace Deco
2. Configure o Bot Token quando solicitado

### Permissões Necessárias

O bot precisa das seguintes permissões no Discord:
- Read Messages/View Channels
- Send Messages
- Manage Messages
- Manage Channels
- Manage Roles
- Manage Webhooks
- Ban Members
- Read Message History
- Add Reactions

## Desenvolvimento

```bash
# Instalar dependências
bun install

# Desenvolvimento local
bun run dev

# Build
bun run build

# Deploy
bun run deploy
```

## Estrutura

```
discord-bot/
├── server/
│ ├── main.ts # Entry point do MCP
│ ├── lib/
│ │ └── types.ts # Schemas Zod e tipos
│ └── tools/
│ ├── index.ts # Exporta todas as tools
│ ├── messages.ts # Tools de mensagens
│ ├── channels.ts # Tools de canais
│ ├── guilds.ts # Tools de servidores
│ ├── roles.ts # Tools de roles
│ ├── threads.ts # Tools de threads
│ ├── webhooks.ts # Tools de webhooks
│ └── utils/
│ └── discord-client.ts # Cliente HTTP Discord
└── shared/
└── deco.gen.ts # Tipos gerados automaticamente
```
Comment on lines +93 to +111
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add language specification to the fenced code block.

The fenced code block on line 93 is missing a language specification, which is flagged by markdownlint. Adding a language identifier improves syntax highlighting and documentation clarity.

Apply this diff to add the language specification:

-```
+```text
 discord-bot/
 ├── server/
 │   ├── main.ts              # Entry point do MCP
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

93-93: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In discord-bot/README.md around lines 93 to 111 the fenced code block lacks a
language specifier; update the opening fence from ``` to ```text so the block
starts with ```text to satisfy markdownlint and enable proper syntax
highlighting and documentation clarity.


## Exemplos de Uso

### Enviar uma mensagem

```typescript
{
"channelId": "123456789",
"content": "Hello, Discord!"
}
```

### Criar um canal

```typescript
{
"guildId": "123456789",
"name": "novo-canal",
"type": 0
}
```

### Listar servidores

```typescript
{
"limit": 100
}
```

## API do Discord

Este MCP usa a [Discord API v10](https://discord.com/developers/docs/intro).

## Suporte

Para mais informações sobre a API do Discord, consulte:
- [Discord Developer Portal](https://discord.com/developers/docs)
- [Bot Permissions Calculator](https://discordapi.com/permissions.html)

35 changes: 35 additions & 0 deletions discord-bot/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"name": "discord-bot",
"version": "1.0.0",
"description": "MCP server for Discord Bot integration",
"private": true,
"type": "module",
"scripts": {
"dev": "deco dev --vite",
"configure": "deco configure",
"gen": "deco gen --output=shared/deco.gen.ts",
"deploy": "npm run build && deco deploy ./dist/server",
"check": "tsc --noEmit",
"build": "bun --bun vite build"
},
"dependencies": {
"@decocms/runtime": "0.24.0",
"tweetnacl": "^1.0.3",
"zod": "^3.24.3"
},
"devDependencies": {
"@cloudflare/vite-plugin": "^1.13.4",
"@cloudflare/workers-types": "^4.20251014.0",
"@decocms/mcps-shared": "1.0.0",
"@mastra/core": "^0.24.0",
"@modelcontextprotocol/sdk": "^1.21.0",
"@types/mime-db": "^1.43.6",
"deco-cli": "^0.26.0",
"typescript": "^5.7.2",
"vite": "7.2.0",
"wrangler": "^4.28.0"
},
"engines": {
"node": ">=22.0.0"
}
}
Loading
Loading