From b2a66f47697a19eca581c2cb39978a18d817d78e Mon Sep 17 00:00:00 2001 From: Shni Date: Sat, 4 Oct 2025 17:53:39 -0500 Subject: [PATCH 1/5] Delete .env --- .env | 93 ------------------------------------------------------------ 1 file changed, 93 deletions(-) delete mode 100644 .env diff --git a/.env b/.env deleted file mode 100644 index 7994d15..0000000 --- a/.env +++ /dev/null @@ -1,93 +0,0 @@ -# Configuración de ejemplo para optimización de memoria -# Copia este archivo como .env.test y ajusta los valores según tus necesidades - -# =========================================== -# CONFIGURACIÓN DE APPWRITE -# =========================================== - -APPWRITE_PROJECT_ID="68d8c4b2001abc54d3cd" -APPWRITE_PROJECT_NAME="amayo" -APPWRITE_ENDPOINT="https://nyc.cloud.appwrite.io/v1" -APPWRITE_API_KEY="standard_b123c1dbaaf7d3f99aa81492509d6277da0cb89eaf86bb8c42210bae0bb39c3ce911ddf101b6be2d3af8972d44ae63beb32c269c24eedbbe032a6c4c13a16c7e542be00c06ab8e9c131986729d45b68e25ac35e770442ea5285b7367938105a7b2d0e380e944d3bd6582db2c3311b3c9d84be5227718f795f30e31de0b9e8439" -APPWRITE_DATABASE_ID="68d8cb9a00250607e236" -APPWRITE_COLLECTION_REMINDERS_ID="reminders_id" -REMINDERS_POLL_INTERVAL_SECONDS="30" - -# =========================================== -# CONFIGURACIÓN DE DISCORD -# =========================================== -TOKEN=OTkxMDYyNzUxNjMzODgzMTM2.Gjzppb.OsdqEDhl_tiQmw4KL7ITbEZ1e-s9VeoF_xJvQQ -guildTest=1316592320954630144 -GOOGLE_AI_API_KEY=AIzaSyDcqOndCJw02xFs305iQE7KVptBoBH8aPk -CLIENT=991062751633883136 - -# =========================================== -# CONFIGURACIÓN DE BASE DE DATOS -# =========================================== -DATABASE_URL=postgresql://postgres.gndwiodomcunueuxwthl:Lop0090...@aws-1-us-west-1.pooler.supabase.com:5432/postgres - -# =========================================== -# REDIS -# ========================================== -REDIS_URL=redis-17965.c323.us-east-1-2.ec2.redns.redis-cloud.com -REDIS_PASS="HnPiQFoWwsBdJY62SiHZSEDmnbgiycZ5" - -# =========================================== -# OPTIMIZACIÓN DE MEMORIA -# =========================================== - -# Monitor de memoria (0 = desactivado, >0 = segundos entre reportes) -MEMORY_LOG_INTERVAL_SECONDS=120 - -# Optimizador avanzado de memoria (requiere --expose-gc) -ENABLE_MEMORY_OPTIMIZER=true - -# =========================================== -# CACHE DE DISCORD.JS -# =========================================== - -# Límites de cache (menor = menos memoria, mayor = mejor rendimiento) -CACHE_MESSAGES_LIMIT=50 # Mensajes por canal -CACHE_MEMBERS_LIMIT=100 # Miembros por servidor - -# =========================================== -# SISTEMA DE LIMPIEZA AUTOMÁTICA -# =========================================== - -# Intervalo de limpieza de mensajes (segundos) -SWEEP_MESSAGES_INTERVAL_SECONDS=300 # cada 5 minutos - -# Tiempo de vida de mensajes en cache (segundos) -SWEEP_MESSAGES_LIFETIME_SECONDS=900 # 15 minutos - -# =========================================== -# CONFIGURACIONES PREESTABLECIDAS -# =========================================== - -# ULTRA-LIGERO (< 512MB RAM disponible): -# CACHE_MESSAGES_LIMIT=10 -# CACHE_MEMBERS_LIMIT=25 -# SWEEP_MESSAGES_INTERVAL_SECONDS=120 -# SWEEP_MESSAGES_LIFETIME_SECONDS=300 -# MEMORY_LOG_INTERVAL_SECONDS=60 - -# BALANCEADO (1GB+ RAM disponible): -# CACHE_MESSAGES_LIMIT=50 -# CACHE_MEMBERS_LIMIT=100 -# SWEEP_MESSAGES_INTERVAL_SECONDS=300 -# SWEEP_MESSAGES_LIFETIME_SECONDS=900 -# MEMORY_LOG_INTERVAL_SECONDS=120 - -# ALTO RENDIMIENTO (2GB+ RAM disponible): -# CACHE_MESSAGES_LIMIT=200 -# CACHE_MEMBERS_LIMIT=500 -# SWEEP_MESSAGES_INTERVAL_SECONDS=600 -# SWEEP_MESSAGES_LIFETIME_SECONDS=1800 -# MEMORY_LOG_INTERVAL_SECONDS=300 - -# =========================================== -# NOTAS: -# Mode es un cambio en cada estacion de mes, como algo festivo. -# =========================================== - -MODE='halloween' # normal, halloween, christmas, newyear \ No newline at end of file From dd95ec7f949b5864126c51b9231647abb4e15fc3 Mon Sep 17 00:00:00 2001 From: Shni Date: Sat, 4 Oct 2025 17:54:18 -0500 Subject: [PATCH 2/5] Delete .env.test --- .env.test | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .env.test diff --git a/.env.test b/.env.test deleted file mode 100644 index fb52a02..0000000 --- a/.env.test +++ /dev/null @@ -1,22 +0,0 @@ -TOKEN = 'OTkxMDYyNzUxNjMzODgzMTM2.Gjzppb.OsdqEDhl_tiQmw4KL7ITbEZ1e-s9VeoF_xJvQQ' -REDIS_URL = 'redis-17965.c323.us-east-1-2.ec2.redns.redis-cloud.com' -REDIS_PASS = 'HnPiQFoWwsBdJY62SiHZSEDmnbgiycZ5' -CLIENT = '991062751633883136' - -# developement -guildTest = '1316592320954630144' -GOOGLE_AI_API_KEY = 'AIzaSyDcqOndCJw02xFs305iQE7KVptBoBH8aPk' - -# This was inserted by `prisma init`: -# Environment variables declared in this file are automatically made available to Prisma. -# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema - -# Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB. -# See the documentation for all the connection string options: https://pris.ly/d/connection-strings - -# The following `prisma+postgres` URL is similar to the URL produced by running a local Prisma Postgres -# server with the `prisma dev` CLI command, when not choosing any non-default ports or settings. The API key, unlike the -# one found in a remote Prisma Postgres URL, does not contain any sensitive information. - -DATABASE_URL="postgresql://postgres.gndwiodomcunueuxwthl:Lop0090...@aws-1-us-west-1.pooler.supabase.com:5432/postgres" -#DATABASE_URL="file:./dev.db" \ No newline at end of file From de098a3c32785412125252a7577a824e79fdf698 Mon Sep 17 00:00:00 2001 From: Shni Date: Wed, 8 Oct 2025 11:35:14 -0500 Subject: [PATCH 3/5] Improve README formatting and add badges Updated README to enhance formatting and add badges. --- README.MD | 379 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 294 insertions(+), 85 deletions(-) diff --git a/README.MD b/README.MD index 2c823d4..5ca8a0e 100644 --- a/README.MD +++ b/README.MD @@ -1,127 +1,336 @@ -# Amayo Bot — Guía de Comandos para Discord +# 🤖 Amayo Bot — Guía de Comandos para Discord -> Nota: Para crear y editar Items, Mobs, Áreas, Niveles y Ofertas con los editores interactivos, consulta la guía: [CREACION_DE_CONTENIDO.md](./CREACION_DE_CONTENIDO.md) +
-Bienvenido/a. Aquí tienes una guía lista para pegar en tu servidor de Discord con todos los comandos disponibles y lo que hacen. +![Version](https://img.shields.io/badge/version-2.0-blueviolet?style=for-the-badge) +![Discord](https://img.shields.io/badge/Discord-Bot-5865F2?style=for-the-badge&logo=discord&logoColor=white) +![AI](https://img.shields.io/badge/AI-Gemini-4285F4?style=for-the-badge&logo=google&logoColor=white) -- Prefix por defecto: `!` (puede cambiarse con `!configuracion`) -- Ayuda en Discord: `!ayuda`, `!ayuda `, `!ayuda ` -- Algunos comandos requieren permisos de Administrador; están marcados. +**Tu asistente definitivo para Discord con IA integrada** ⚡ -## Comandos por categoría +[![Prefix](https://img.shields.io/badge/Prefix-!-success?style=for-the-badge)](https://github.com) -### IA -- `!ai ` - - Aliases: `!chat`, `!gemini` - - Qué hace: Chatea con la IA (Gemini) directamente desde Discord. - - Ejemplo: `!ai ¿Cómo funciona JavaScript?` +
-### Utilidad -- `!ayuda [comando|categoría]` - - Aliases: `!help`, `!comandos`, `!cmds` - - Qué hace: Muestra la lista de comandos y detalles por categoría. Si pasas un nombre de comando o categoría, filtra el resultado. +--- -### Red -- `!ping` - - Aliases: `!latency`, `!pong` - - Qué hace: Verifica la latencia y que el bot esté respondiendo. +> 📝 **Nota importante:** Para crear y editar Items, Mobs, Áreas, Niveles y Ofertas con los editores interactivos, consulta la guía: [CREACION_DE_CONTENIDO.md](./CREACION_DE_CONTENIDO.md) -### Configuración (Admin) -- `!configuracion` - - Aliases: `!config`, `!ajustes`, `!settings` - - Qué hace: Abre el panel de configuración del servidor (por ejemplo, cambiar el prefix). - - Permisos: Requiere Administrador. +--- -### Administración (Owner) -- `!admin-comandos` - - Aliases: `!cmdadmin`, `!synccommands`, `!comandos-admin` - - Qué hace: Panel del dueño para registrar/limpiar comandos slash y revisar memoria. - - Permisos: Solo propietario del bot. +## 📚 Tabla de Contenidos -### Alianzas (Gestión de bloques y canales) — Admin -Bloques (presentaciones/embeds avanzados con Display Components): -- `!crear-embed ` - - Aliases: `!embed-crear`, `!nuevo-embed`, `!blockcreatev2` - - Qué hace: Crea un bloque/embedded nuevo con editor interactivo. - - Permisos: Administrador. -- `!editar-embed ` - - Aliases: `!embed-editar`, `!modificar-embed`, `!blockeditv2` - - Qué hace: Edita un bloque/embedded existente con herramientas interactivas. - - Permisos: Administrador. -- `!lista-embeds` - - Aliases: `!embeds`, `!ver-embeds`, `!embedlist` - - Qué hace: Lista los bloques existentes con paginación y acciones rápidas. - - Permisos: Administrador. -- `!eliminar-embed` - - Aliases: `!embed-eliminar`, `!borrar-embed`, `!embeddelete` - - Qué hace: Panel interactivo para eliminar bloques de forma segura. - - Permisos: Administrador. +- [🧠 Inteligencia Artificial](#-inteligencia-artificial) +- [🛠️ Utilidad](#️-utilidad) +- [📡 Red](#-red) +- [⚙️ Configuración](#️-configuración) +- [👑 Administración](#-administración) +- [🤝 Alianzas](#-alianzas) + - [📦 Gestión de Bloques/Embeds](#-gestión-de-bloquesembeds) + - [📢 Canales de Alianza](#-canales-de-alianza) + - [🎨 Demostración](#-demostración) +- [⚡ Slash Commands](#-slash-commands) +- [💡 Consejos Rápidos](#-consejos-rápidos) +- [📋 Bloque para tu Servidor](#-bloque-para-tu-servidor) -Canales de alianza (puntos por enlaces válidos, etc.): -- `!canal-alianza` - - Aliases: `!alchannel`, `!channelally` - - Qué hace: Abre el centro de configuración para asignar un bloque a un canal de texto y activarlo. - - Permisos: Administrador. -- `!listar-canales-alianza` - - Aliases: `!listchannels-alliance`, `!listalchannel`, `!channelsally`, `!alliancechannels` - - Qué hace: Muestra los canales de alianza configurados con estado y estadísticas. - - Permisos: Administrador recomendado. -- `!eliminar-canal-alianza` - - Aliases: `!removechannel-alliance`, `!removealchannel`, `!delalchannel` - - Qué hace: Elimina la configuración de alianza de un canal seleccionado (mantiene historial). - - Permisos: Administrador. +--- -Demostración/ejemplos: -- `!displaydemo` - - Aliases: `!ddemo`, `!componentsdemo` - - Qué hace: Demostración de Display Components con accesorios y acciones. - - Permisos: Administrador. -- `!test1` - - Qué hace: Mensaje de ejemplo de componentes/embeds (demo interna). +## 🧠 Inteligencia Artificial -### Slash commands -- `/ping` - - Qué hace: Responde con “pong!” (prueba rápida de slash). +### `!ai ` +> **Aliases:** `!chat`, `!gemini` -## Consejos rápidos -- ¿No recuerdas el prefix? Usa `@mencionar_al_bot ayuda` o prueba `!ayuda`. -- ¿No te funciona un comando? - - Puede requerir permisos de Administrador o ser solo del dueño. - - Asegúrate de usarlo en un canal de texto compatible. - - Escribe `!ayuda ` para ver el uso correcto. +💬 Chatea con la IA (Gemini) directamente desde Discord. Pregunta lo que quieras, desde programación hasta consejos generales. -## Bloque listo para copiar y pegar en tu server +**Ejemplo:** +``` +!ai ¿Cómo funciona JavaScript? +``` -Copia todo este bloque y pégalo en tu canal de información o bienvenida. +--- + +## 🛠️ Utilidad + +### `!ayuda [comando|categoría]` +> **Aliases:** `!help`, `!comandos`, `!cmds` + +📚 Muestra la lista completa de comandos y detalles por categoría. Puedes filtrar por comando específico o categoría. + +**Ejemplos:** +``` +!ayuda +!ayuda ai +!ayuda Alianzas +``` + +--- + +## 📡 Red + +### `!ping` +> **Aliases:** `!latency`, `!pong` + +🏓 Verifica la latencia del bot y confirma que está respondiendo correctamente. + +--- + +## ⚙️ Configuración + +> 🔒 **Requiere:** Permisos de Administrador + +### `!configuracion` +> **Aliases:** `!config`, `!ajustes`, `!settings` + +🔧 Abre el panel de configuración del servidor donde puedes personalizar el prefix y otras opciones. + +--- + +## 👑 Administración + +> 🔒 **Requiere:** Ser el propietario del bot + +### `!admin-comandos` +> **Aliases:** `!cmdadmin`, `!synccommands`, `!comandos-admin` + +🎛️ Panel exclusivo del dueño del bot para registrar/limpiar comandos slash y revisar el estado de memoria. + +--- + +## 🤝 Alianzas + +> 🔒 **Requiere:** Permisos de Administrador + +Sistema completo de gestión de alianzas con bloques personalizados y canales configurables. + +### 📦 Gestión de Bloques/Embeds + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ComandoDescripción
+ +**`!crear-embed `** + +*Aliases:* `!embed-crear`, `!nuevo-embed`, `!blockcreatev2` + + + +✨ Crea un bloque/embedded nuevo con editor interactivo avanzado y Display Components. + +
+ +**`!editar-embed `** + +*Aliases:* `!embed-editar`, `!modificar-embed`, `!blockeditv2` + + + +✏️ Edita un bloque/embedded existente con herramientas interactivas completas. + +
+ +**`!lista-embeds`** + +*Aliases:* `!embeds`, `!ver-embeds`, `!embedlist` + + + +📋 Lista todos los bloques existentes con paginación y acciones rápidas. + +
+ +**`!eliminar-embed`** + +*Aliases:* `!embed-eliminar`, `!borrar-embed`, `!embeddelete` + + + +🗑️ Panel interactivo para eliminar bloques de forma segura. + +
+ +### 📢 Canales de Alianza + + + + + + + + + + + + + + + + + + + + + + +
ComandoDescripción
+ +**`!canal-alianza`** + +*Aliases:* `!alchannel`, `!channelally` + + + +🎯 Abre el centro de configuración para asignar un bloque a un canal de texto y activar el sistema de puntos por enlaces válidos. + +
+ +**`!listar-canales-alianza`** + +*Aliases:* `!listchannels-alliance`, `!listalchannel`, `!channelsally`, `!alliancechannels` + + + +📊 Muestra todos los canales de alianza configurados con estado y estadísticas detalladas. + +
+ +**`!eliminar-canal-alianza`** + +*Aliases:* `!removechannel-alliance`, `!removealchannel`, `!delalchannel` + + + +❌ Elimina la configuración de alianza de un canal seleccionado (mantiene el historial). + +
+ +### 🎨 Demostración + +| Comando | Descripción | +|---------|-------------| +| **`!displaydemo`**
*Aliases:* `!ddemo`, `!componentsdemo` | 🎪 Demostración completa de Display Components con todos los accesorios y acciones disponibles. | +| **`!test1`** | 🧪 Mensaje de ejemplo de componentes/embeds (demo interna para pruebas). | + +--- + +## ⚡ Slash Commands + +### `/ping` +🏓 Responde con "pong!" - Prueba rápida de comandos slash. + +--- + +## 💡 Consejos Rápidos + +
+¿Olvidaste el prefix? + +Usa `@mencionar_al_bot ayuda` o prueba `!ayuda` + +
+ +
+¿Un comando no funciona? + +- ✅ Puede requerir permisos de Administrador o ser exclusivo del dueño +- ✅ Asegúrate de usarlo en un canal de texto compatible +- ✅ Escribe `!ayuda ` para ver el uso correcto + +
+ +
+¿Necesitas ayuda específica? + +Usa `!ayuda ` para filtrar por tipo de comando + +**Categorías disponibles:** +- `IA` +- `Utilidad` +- `Red` +- `Configuración` +- `Administración` +- `Alianzas` + +
+ +--- + +## 📋 Bloque para tu Servidor + +Copia este bloque y pégalo en tu canal de información o bienvenida: ``` 📌 Amayo Bot — Guía Rápida de Comandos Prefix: ! (puedes cambiarlo con !configuracion) -IA +🧠 IA • !ai — Chatea con la IA (aliases: !chat, !gemini) -Utilidad +🛠️ Utilidad • !ayuda [comando|categoría] — Lista y detalles de comandos -Red +📡 Red • !ping — Prueba de latencia -Configuración (Admin) +⚙️ Configuración (Admin) • !configuracion — Panel de ajustes del servidor -Alianzas (Admin) +🤝 Alianzas (Admin) +📦 Bloques/Embeds: • !crear-embed — Crear bloque interactivo • !editar-embed — Editar bloque • !lista-embeds — Ver bloques • !eliminar-embed — Eliminar bloques + +📢 Canales: • !canal-alianza — Configurar canal • !listar-canales-alianza — Ver configurados • !eliminar-canal-alianza — Eliminar canal de la configuración + +🎨 Demo: • !displaydemo — Demo de componentes -Slash +⚡ Slash • /ping — Pong! Más ayuda: !ayuda | !ayuda | !ayuda ``` + +--- + +
+ +### ⚡ Desarrollado con 💜 + +**Amayo Bot © 2025** + +Potenciado por Discord.js & Gemini AI + +[![Discord.js](https://img.shields.io/badge/Discord.js-v14-5865F2?style=flat-square&logo=discord&logoColor=white)](https://discord.js.org) +[![Node.js](https://img.shields.io/badge/Node.js-v18+-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org) +[![Gemini](https://img.shields.io/badge/Gemini-AI-4285F4?style=flat-square&logo=google&logoColor=white)](https://ai.google.dev) + +
From 3c19212d1a2c3afb23905291ae146080c6171913 Mon Sep 17 00:00:00 2001 From: Shni Date: Wed, 8 Oct 2025 11:56:27 -0500 Subject: [PATCH 4/5] Update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 20 ++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..dd84ea7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..bbcbbe7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. From 37584d8423101b9e9d16acb373d4d501879a2b89 Mon Sep 17 00:00:00 2001 From: Shni Date: Wed, 8 Oct 2025 11:57:52 -0500 Subject: [PATCH 5/5] Add Ko-fi username for funding support --- .github/FUNDING.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..ab24fbb --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,15 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: shnimlz +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: # Replace with a single Buy Me a Coffee username +thanks_dev: # Replace with a single thanks.dev username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']