Merge pull request #14 from Shnimlz/economy

Updating
This commit is contained in:
Shni
2025-10-10 00:54:05 -05:00
committed by GitHub
22 changed files with 58 additions and 245 deletions

View File

@@ -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 projects 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 Appwrites 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

View File

@@ -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

View File

@@ -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 doesnt 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
View File

@@ -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
View File

@@ -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
View File

@@ -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
View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="TypeScriptCompiler">
<option name="useTypesFromServer" value="true" />
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AgentMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AskMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

View File

@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Ask2AgentMigrationStateService">
<option name="migrationStatus" value="COMPLETED" />
</component>
</project>

View File

@@ -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
View File

@@ -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
View File

@@ -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&amp;permissions=2416176272&amp;integration_type=0&amp;scope=bot" />
<option name="icon" value="https://i.imgur.com/dqgSWt7.png" />
</component>
</project>

View File

@@ -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>

View File

@@ -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
View File

@@ -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
View File

@@ -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
View File

@@ -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
View 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
View 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.

View File

@@ -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)
---

View File

@@ -22,7 +22,7 @@
},
"keywords": [],
"author": "",
"license": "ISC",
"license": "MIT",
"type": "commonjs",
"dependencies": {
"@google/genai": "1.20.0",