61
.github/copilot-instructions.md
vendored
61
.github/copilot-instructions.md
vendored
@@ -1,61 +0,0 @@
|
||||
# 🧠 Custom Instructions for GitHub Copilot
|
||||
**Project Context: Discord Bot + Game System Integration (discord.js 15.0.0-dev.1759363313-f510b5ffa)**
|
||||
|
||||
---
|
||||
|
||||
## 1. Primary Source of Truth
|
||||
- Always treat the **installed package** in `node_modules/discord.js` as the *definitive source* of API behavior and typings.
|
||||
- Do **not** rely solely on public documentation or examples; cross-verify any methods, classes, or type names directly from:
|
||||
- The source code and declaration files inside `node_modules/discord.js`
|
||||
- The project’s internal reference file `example.ts.txt`
|
||||
|
||||
> If discrepancies exist, assume `example.ts.txt` and local types reflect the *intended experimental API* for this build.
|
||||
|
||||
---
|
||||
|
||||
## 2. Secondary Sources
|
||||
Use these **only when confirmed to still be valid** for the current development version:
|
||||
- [Discord.js Guide](https://discordjs.guide)
|
||||
- [discord.js GitHub Repository](https://github.com/discordjs/discord.js)
|
||||
- [Discord API Types GitHub](https://github.com/discordjs/discord-api-types)
|
||||
- [Discord Developer Documentation](https://discord.com/developers/docs/intro)
|
||||
|
||||
> ⚠️ Mark explicitly when a snippet or concept originates from official docs and may be outdated.
|
||||
|
||||
---
|
||||
|
||||
## 3. Code & Type Analysis Scope
|
||||
Copilot must **investigate, interpret, and reference** the following project directories for all game logic and command definitions:
|
||||
|
||||
- `src/game/**`
|
||||
- `src/commands/game/**`
|
||||
- `src/commands/admin/**`
|
||||
|
||||
### Tasks:
|
||||
- Analyze **all game-related classes, interfaces, and types**, including metadata structures (e.g., `GameAreaLevel`, `GameArea`, `ScheduledMobAttack`, and mission types).
|
||||
- Identify how these interact with command creation and execution flows.
|
||||
- Detect **missing type declarations**, inconsistent imports, or unreferenced type usages.
|
||||
- Evaluate whether metadata in `GameAreaLevel` can safely include additional properties (e.g., `image`, `referenceImage`, or similar) for visual mapping of game areas.
|
||||
- Verify that all related commands and editors properly support or update those fields.
|
||||
|
||||
---
|
||||
|
||||
## 4. Appwrite Integration Considerations
|
||||
While analyzing the above directories, also check for:
|
||||
- Possible migration paths for mission and attack scheduling logic (`ScheduledMobAttack`, mission trackers) into **Appwrite Functions** or **Appwrite Realtime** for better live synchronization and event-driven execution.
|
||||
- Type definitions or data structures that may need adaptation for Appwrite’s SDK.
|
||||
|
||||
---
|
||||
|
||||
## 5. Validation
|
||||
Before finalizing any generated code or type updates:
|
||||
- Run TypeScript validation to ensure type correctness:
|
||||
```bash
|
||||
npx tsc --noEmit
|
||||
```
|
||||
|
||||
## 6. Communication Protocol
|
||||
When Copilot suggests or modifies code, it must explicitly indicate the origin of the reference:
|
||||
- 🟩 node_modules → Authoritative source (preferred)
|
||||
- 🟦 example.ts.txt → Experimental / confirmed local reference
|
||||
- 🟨 Official docs → Secondary, possibly outdated source
|
||||
11
.github/prompts/discord.js-v15-dev.prompt.md
vendored
11
.github/prompts/discord.js-v15-dev.prompt.md
vendored
@@ -1,11 +0,0 @@
|
||||
# Prompt: Discord.js 15 Development Mode
|
||||
|
||||
When assisting with Discord.js version `15.0.0-dev.1759363313-f510b5ffa`:
|
||||
|
||||
- Treat the installed code in `node_modules/discord.js` as the primary and most reliable reference.
|
||||
- Always analyze the file `example.ts.txt` to extract API patterns, since it reflects the intended usage of this dev version.
|
||||
- Do not rely blindly on official docs or the guide; use them only to compare and note differences with the dev version.
|
||||
- Highlight when functionality has changed from v14 to v15, based on observed code and `example.ts.txt`.
|
||||
- Encourage verification by:
|
||||
```bash
|
||||
npx tsc --noEmit
|
||||
28
.github/prompts/error-strict.prompt.md
vendored
28
.github/prompts/error-strict.prompt.md
vendored
@@ -1,28 +0,0 @@
|
||||
# Prompt: TypeScript Strict Error Resolver
|
||||
|
||||
Whenever Copilot generates or modifies code:
|
||||
|
||||
1. **Never ignore compiler errors** like `TS2339`, `TS2345`, or similar.
|
||||
- Always explain what the error means in plain language.
|
||||
- Always suggest at least one concrete fix.
|
||||
|
||||
2. **For missing properties or methods (e.g. `TS2339`)**:
|
||||
- Check if the method exists in the installed `node_modules`.
|
||||
- If it doesn’t exist, assume the API changed in `discord.js@15-dev`.
|
||||
- Propose alternatives based on actual available methods (`example.ts.txt` must be consulted).
|
||||
|
||||
3. **For type mismatches (e.g. `TS2345`)**:
|
||||
- Suggest code changes that handle `null`/`undefined` safely.
|
||||
- Show how to cast or coerce types **without breaking strict typing**.
|
||||
|
||||
4. **Validation step**:
|
||||
- Always remind to rerun:
|
||||
```bash
|
||||
npx tsc --noEmit
|
||||
```
|
||||
until the project compiles cleanly.
|
||||
- Do not consider the task “done” if compiler errors remain.
|
||||
|
||||
5. **Explicitness**:
|
||||
- Always specify: “This code suggestion resolves TS2339 / TS2345.”
|
||||
- Never produce a code snippet that still triggers the same error.
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -1,10 +1,13 @@
|
||||
# Dependencias
|
||||
node_modules
|
||||
.env
|
||||
.env.test
|
||||
qodana.yaml
|
||||
|
||||
.github
|
||||
.vscode
|
||||
.idea
|
||||
# Carpetas de metadatos/IDE (ancladas a la raíz)
|
||||
/.github/
|
||||
/.vscode/
|
||||
/.idea/
|
||||
|
||||
/src/generated/prisma
|
||||
# Generados
|
||||
/src/generated/prisma/
|
||||
|
||||
8
.idea/.gitignore
generated
vendored
8
.idea/.gitignore
generated
vendored
@@ -1,8 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
# Datasource local storage ignored files
|
||||
/dataSources/
|
||||
/dataSources.local.xml
|
||||
12
.idea/amayo.iml
generated
12
.idea/amayo.iml
generated
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
.idea/compiler.xml
generated
6
.idea/compiler.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="TypeScriptCompiler">
|
||||
<option name="useTypesFromServer" value="true" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/copilot.data.migration.agent.xml
generated
6
.idea/copilot.data.migration.agent.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AgentMigrationStateService">
|
||||
<option name="migrationStatus" value="COMPLETED" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/copilot.data.migration.ask.xml
generated
6
.idea/copilot.data.migration.ask.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AskMigrationStateService">
|
||||
<option name="migrationStatus" value="COMPLETED" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/copilot.data.migration.ask2agent.xml
generated
6
.idea/copilot.data.migration.ask2agent.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Ask2AgentMigrationStateService">
|
||||
<option name="migrationStatus" value="COMPLETED" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/copilot.data.migration.edit.xml
generated
6
.idea/copilot.data.migration.edit.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EditMigrationStateService">
|
||||
<option name="migrationStatus" value="COMPLETED" />
|
||||
</component>
|
||||
</project>
|
||||
12
.idea/dataSources.xml
generated
12
.idea/dataSources.xml
generated
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
||||
<data-source source="LOCAL" name="dev" uuid="ed4d8df0-abeb-4f93-a766-8c8fe5abee6c">
|
||||
<driver-ref>sqlite.xerial</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
||||
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/prisma/dev.db</jdbc-url>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
||||
9
.idea/discordrp.xml
generated
9
.idea/discordrp.xml
generated
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="io.github.pandier.intellijdiscordrp.settings.project.DiscordProjectSettingsComponent">
|
||||
<option name="buttonEnabled" value="true" />
|
||||
<option name="buttonText" value="Invita mi bot" />
|
||||
<option name="buttonUrl" value="https://discord.com/oauth2/authorize?client_id=991062751633883136&permissions=2416176272&integration_type=0&scope=bot" />
|
||||
<option name="icon" value="https://i.imgur.com/dqgSWt7.png" />
|
||||
</component>
|
||||
</project>
|
||||
15
.idea/git_toolbox_prj.xml
generated
15
.idea/git_toolbox_prj.xml
generated
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GitToolBoxProjectSettings">
|
||||
<option name="commitMessageIssueKeyValidationOverride">
|
||||
<BoolValueOverride>
|
||||
<option name="enabled" value="true" />
|
||||
</BoolValueOverride>
|
||||
</option>
|
||||
<option name="commitMessageValidationEnabledOverride">
|
||||
<BoolValueOverride>
|
||||
<option name="enabled" value="true" />
|
||||
</BoolValueOverride>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/jsLibraryMappings.xml
generated
6
.idea/jsLibraryMappings.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<includedPredefinedLibrary name="Node.js Core" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/amayo.iml" filepath="$PROJECT_DIR$/.idea/amayo.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
6
.idea/vcs.xml
generated
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
33
.vscode/tasks.json
vendored
33
.vscode/tasks.json
vendored
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Typecheck: tsc --noEmit",
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"run",
|
||||
"-s",
|
||||
"tsc",
|
||||
"--",
|
||||
"--noEmit"
|
||||
]
|
||||
},
|
||||
{
|
||||
"label": "Typecheck: tsc --noEmit",
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"run",
|
||||
"-s",
|
||||
"tsc",
|
||||
"--",
|
||||
"--noEmit"
|
||||
],
|
||||
"problemMatcher": [
|
||||
"$tsc"
|
||||
],
|
||||
"group": "build"
|
||||
}
|
||||
]
|
||||
}
|
||||
21
CONTRIBUTING.md
Normal file
21
CONTRIBUTING.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Guía de Contribución
|
||||
|
||||
¡Gracias por tu interés en colaborar con este proyecto!
|
||||
|
||||
Antes de empezar, ten en cuenta lo siguiente:
|
||||
|
||||
1. Este proyecto es solo para fines de investigación y educativos.
|
||||
- No se aceptarán contribuciones que tengan como objetivo el uso comercial.
|
||||
|
||||
2. Para proponer cambios:
|
||||
- Haz un **fork** del repositorio.
|
||||
- Crea una rama con un nombre descriptivo (ejemplo: `fix-bug-voz`).
|
||||
- Realiza tus cambios y asegúrate de que el código esté comentado y probado.
|
||||
- Envía un **pull request** al repositorio original.
|
||||
|
||||
3. Todas las contribuciones estarán sujetas a revisión.
|
||||
- El autor se reserva el derecho de aceptar o rechazar cambios.
|
||||
|
||||
4. Asegúrate de mantener el aviso de autoría y la licencia en tu código.
|
||||
|
||||
¡Tus aportes ayudan a mejorar este proyecto! 🚀
|
||||
26
LICENSE
Normal file
26
LICENSE
Normal file
@@ -0,0 +1,26 @@
|
||||
Licencia de Uso No Comercial para Investigación
|
||||
Copyright (c) 2025 Shnimlz
|
||||
|
||||
Se concede permiso para usar, copiar y distribuir este software con las siguientes condiciones:
|
||||
|
||||
1. El software solo puede ser utilizado con fines de investigación, educativos o personales.
|
||||
No está permitido su uso en entornos de producción ni con fines comerciales, directos o indirectos,
|
||||
sin autorización expresa y por escrito del autor.
|
||||
|
||||
2. Queda prohibido declarar, dar a entender o representar que este software fue creado por otra persona
|
||||
distinta al autor original.
|
||||
|
||||
3. Debe mantenerse este aviso de copyright y licencia en todas las copias
|
||||
y redistribuciones del software o fragmentos de este.
|
||||
|
||||
4. Este software se proporciona "tal cual", sin garantías de ningún tipo, expresas o implícitas,
|
||||
incluyendo, pero no limitadas a, garantías de comerciabilidad, idoneidad para un propósito
|
||||
particular o disponibilidad.
|
||||
|
||||
5. El incumplimiento de estas condiciones revoca inmediatamente el permiso de uso.
|
||||
|
||||
6. Colaboración y contribuciones:
|
||||
Las contribuciones de terceros son bienvenidas siempre que respeten esta licencia.
|
||||
Cualquier colaboración debe realizarse mediante solicitudes de cambio (pull requests)
|
||||
en el repositorio original, sujetas a revisión y aprobación del autor.
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
|
||||
---
|
||||
|
||||
> 📝 **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)
|
||||
> 📝 **Nota importante:** Favor de leer la licencia: [LICENSE](./LICENSE)
|
||||
|
||||
> 📝 **Nota importante:** Para crear y editar Items, Mobs, Áreas, Niveles y Ofertas con los editores interactivos, consulta la guía: [CREACION_DE_CONTENIDO.md](./README/CREACION_DE_CONTENIDO.md)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"license": "MIT",
|
||||
"type": "commonjs",
|
||||
"dependencies": {
|
||||
"@google/genai": "1.20.0",
|
||||
|
||||
Reference in New Issue
Block a user