Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ DEPLOY_TARGET=test # default to 'test' or 'prod' when running deploy-commands
SMTP_API_KEY=
SMTP_API_URL=
SMTP_FROM=
SMTP_API_TIMEOUT_MS=
SMTP_API_TIMEOUT_MS=
215 changes: 215 additions & 0 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
# 📚 Resumen de Documentación

## ✅ Archivos Documentados

Este documento resume la documentación agregada a todo el proyecto del Bot de Discord.

---

## 🗂️ Archivos Principales

### 📄 `src/index.ts`
**Punto de entrada del bot**
- ✅ Documentación del módulo y su propósito
- ✅ JSDoc para interfaces (`BotClient`)
- ✅ Comentarios sobre filtro de advertencias
- ✅ Documentación de variables clave (token, client)
- ✅ Explicación del sistema de carga de comandos
- ✅ Explicación del sistema de carga de eventos

### 📄 `src/deploy-commands.ts`
**Script de deployment de comandos**
- ✅ Descripción del archivo y su uso
- ✅ Documentación de variables de configuración
- ✅ JSDoc para función `loadCommands()`
- ✅ JSDoc para función `deploy()`
- ✅ Ejemplos de uso en comentarios

### 📄 `src/list-commands.ts`
**Utilidad para listar comandos**
- ✅ Descripción del propósito del script
- ✅ Documentación de variables
- ✅ JSDoc para función `main()`
- ✅ Instrucciones de uso

---

## 🎮 Comandos

### 📄 `src/commands/announce.ts`
**Sistema de anuncios**
- ✅ Descripción del comando y sus capacidades
- ✅ JSDoc para función `execute()`
- ✅ Documentación de opciones del comando

### 📄 `src/commands/clear.ts`
**Limpieza de mensajes**
- ✅ Descripción completa del sistema de limpieza
- ✅ Documentación de flags y constantes
- ✅ JSDoc para función `execute()`
- ✅ Explicación de unidades (mensajes/horas/días)

### 📄 `src/commands/event.ts`
**Gestión de eventos programados**
- ✅ Descripción del sistema de eventos
- ✅ Documentación de tipos de eventos (external/voice)
- ✅ JSDoc para función `execute()`
- ✅ Documentación de subcomandos

### 📄 `src/commands/ping.ts`
**Comando de latencia**
- ✅ Descripción simple y clara
- ✅ JSDoc para función `execute()`
- ✅ Explicación del cálculo de roundtrip time

### 📄 `src/commands/presence.ts`
**Configuración de presencia**
- ✅ Descripción de rich presence
- ✅ JSDoc para función `execute()`
- ✅ Documentación de tipos de actividad
- ✅ Explicación de estados

### 📄 `src/commands/setup.ts`
**Configuración inicial del servidor**
- ✅ Descripción completa del comando
- ✅ Lista de elementos configurables
- ✅ JSDoc para función `execute()`
- ✅ Documentación de roles y canales

### 📄 `src/commands/ticket-close.ts`
**Cierre de tickets**
- ✅ Descripción del sistema de cierre
- ✅ JSDoc para función `execute()`
- ✅ Documentación de permisos requeridos

### 📄 `src/commands/ticket-message.ts`
**Publicación de mensaje de tickets**
- ✅ Descripción del sistema de tickets
- ✅ JSDoc para función `execute()`
- ✅ Explicación del emoji 🎫

### 📄 `src/commands/verify.ts`
**Verificación por email**
- ✅ Descripción del proceso de dos pasos
- ✅ JSDoc para función `maskEmail()`
- ✅ JSDoc para función `execute()`
- ✅ Documentación de subcomandos (start/code)
- ✅ Explicación de prevención de reutilización

---

## 🎭 Eventos

### 📄 `src/events/ready.ts`
**Evento de bot listo**
- ✅ Descripción del evento
- ✅ JSDoc para el manejador
- ✅ Documentación de propiedades (name, once, execute)

### 📄 `src/events/guildMemberAdd.ts`
**Evento de nuevo miembro**
- ✅ Descripción del sistema de bienvenida
- ✅ JSDoc para el manejador
- ✅ Explicación del envío de embeds

### 📄 `src/events/messageCreate.ts`
**Evento de creación de mensaje**
- ✅ Descripción del evento
- ✅ JSDoc para el manejador
- ✅ Documentación del comando fallback !ping

### 📄 `src/events/messageReactionAdd.ts`
**Evento de reacción agregada**
- ✅ Descripción del sistema de tickets
- ✅ JSDoc para el manejador
- ✅ Explicación del proceso de creación de tickets
- ✅ Documentación de permisos y categorías

### 📄 `src/events/voiceStateUpdate.ts`
**Evento de cambio de estado de voz**
- ✅ Descripción completa del sistema Voice Master
- ✅ JSDoc para función `scheduleCleanup()`
- ✅ JSDoc para función `buildControls()`
- ✅ JSDoc para el manejador principal
- ✅ Documentación del tiempo de limpieza (5 minutos)

### 📄 `src/events/interactionCreate.ts`
**Evento de interacción**
- ✅ Descripción completa del manejador
- ✅ JSDoc para función `handleVoiceMasterSelect()`
- ✅ JSDoc para función `handleVoiceMasterModal()`
- ✅ JSDoc para función `applyPermit()`
- ✅ JSDoc para función `applyReject()`
- ✅ JSDoc para función `applyInvite()`
- ✅ JSDoc para función `showModal()`
- ✅ JSDoc para función `showSelector()`
- ✅ JSDoc para función `updateControlStatus()`
- ✅ Documentación de flags efímeros

---

## 🛠️ Utilidades

### 📄 `src/utils/embed.ts`
**Constructor de embeds**
- ✅ Descripción del módulo
- ✅ JSDoc para interface `EmbedOptions`
- ✅ JSDoc para función `buildEmbed()`
- ✅ JSDoc para función `parseHexColor()`
- ✅ Ejemplos en comentarios

### 📄 `src/utils/otp.ts`
**Sistema de códigos OTP**
- ✅ Descripción completa del sistema
- ✅ JSDoc para interface `OtpEntry`
- ✅ JSDoc para función `generateOtp()`
- ✅ JSDoc para función `verifyOtp()`
- ✅ JSDoc para función `pendingOtp()`
- ✅ JSDoc para función `clearOtp()`
- ✅ Documentación del TTL (10 minutos)

### 📄 `src/utils/mailer.ts`
**Sistema de envío de correos**
- ✅ Descripción completa del módulo
- ✅ Documentación de métodos soportados (SMTP/HTTP)
- ✅ JSDoc para interface `SmtpConfig`
- ✅ JSDoc para interface `HttpMailConfig`
- ✅ JSDoc para función `getConfig()`
- ✅ JSDoc para función `getHttpConfig()`
- ✅ JSDoc para función `maskEmail()`
- ✅ JSDoc para función `describeSmtpError()`
- ✅ JSDoc para función `sendOtpEmail()`
- ✅ JSDoc para función `sendViaHttpApi()`
- ✅ Documentación de variables de entorno

### 📄 `src/utils/voiceMasterState.ts`
**Gestión de estado de canales de voz**
- ✅ Descripción del módulo
- ✅ JSDoc para interface `VoiceMasterState`
- ✅ JSDoc para función `setVoiceState()`
- ✅ JSDoc para función `getVoiceState()`
- ✅ JSDoc para función `clearVoiceState()`
- ✅ Documentación del almacén en memoria

### 📄 `src/utils/verifyRequest.ts`
**Verificación de requests**
- ✅ Descripción del placeholder
- ✅ JSDoc para función `verifyRequestPlaceholder()`
- ✅ Nota @todo para futura implementación

---

## ⚙️ Configuración

### 📄 `src/config/store.ts`
**Sistema de almacenamiento**
- ✅ Descripción completa del sistema
- ✅ JSDoc para interface `GuildConfig`
- ✅ JSDoc para interface `ConfigFile`
- ✅ Documentación de variables de AWS S3
- ✅ JSDoc para función `streamToString()`
- ✅ JSDoc para función `loadFromBucket()`
- ✅ JSDoc para función `saveToBucket()`
- ✅ JSDoc para función `getGuildConfig()`
- ✅ JSDoc para función `upsertGuildConfig()`
- ✅ Explicación del sistema de caché
Loading