ui changes
This commit is contained in:
68
errors.md
Normal file
68
errors.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# Error Log
|
||||
|
||||
## ENOENT: no such file or directory, open 'F:\Projects\Github\ECS-Discordweb\discord-bot\events\...ackenddb.json'
|
||||
|
||||
**Context:** This error occurs in the `guildMemberAdd` and `guildMemberRemove` event handlers in the Discord bot when trying to read the `db.json` file.
|
||||
|
||||
**Initial Fix Attempts:**
|
||||
|
||||
1. **`path.join` with relative path:** Initially, the path was constructed using `path.join(__dirname, '..\..\backend\db.json')`. This was incorrect as it didn't go up enough directories.
|
||||
2. **`path.join` with corrected relative path:** The path was corrected to `path.join(__dirname, '..\..\..\backend\db.json')`. This seemed logically correct, but still resulted in the same error, with a strange `......` in the error path.
|
||||
3. **`path.resolve`:** The path construction was changed to use `path.resolve(__dirname, '..\..\..\backend\db.json')` to ensure an absolute path was resolved. This also failed with the same error.
|
||||
|
||||
**Root Cause Analysis:**
|
||||
|
||||
The exact cause of the path resolution failure is unclear, but it seems to be related to how `__dirname` and relative paths are handled when the bot module is required by the backend server. The inconsistent working directory might be the source of the problem.
|
||||
|
||||
**Solution:**
|
||||
|
||||
To provide a more robust and centralized solution, the database path will be managed within the `backend/db.js` file.
|
||||
|
||||
1. The `dbPath` will be exported from `backend/db.js`.
|
||||
2. The `guildMemberAdd.js` and `guildMemberRemove.js` event handlers will import the `dbPath` directly from `backend/db.js`, eliminating the need for path resolution in the event handlers themselves.
|
||||
|
||||
## SyntaxError: Unexpected token 'U', "U2FsdGVkX1"... is not valid JSON
|
||||
|
||||
**Context:** This error occurs in the `guildMemberAdd` and `guildMemberRemove` event handlers when trying to parse the content of `db.json`.
|
||||
|
||||
**Root Cause Analysis:**
|
||||
|
||||
The `db.json` file is encrypted, and the event handlers were reading the file content directly and trying to parse it as JSON. The encrypted string starts with "U2FsdGVkX1", which is not a valid JSON token, causing the `JSON.parse` to fail.
|
||||
|
||||
**Solution:**
|
||||
|
||||
The `backend/db.js` module already provides a `readDb` function that handles reading the file and decrypting its content. The event handlers must be updated to use this function instead of reading the file directly. This ensures that the encrypted data is correctly decrypted before being parsed as JSON.
|
||||
|
||||
## Outdated Discord.js Practices
|
||||
|
||||
**Context:** The `discord-bot` is using a slightly outdated version of `discord.js` (`^14.15.3` instead of the latest `^14.22.1`). Additionally, the `package.json` includes `@discordjs/rest` and `discord-api-types` as explicit dependencies, which are now bundled with `discord.js` v14 and can cause conflicts.
|
||||
|
||||
**Solution:**
|
||||
|
||||
1. Update the `discord.js` dependency to the latest stable version (`^14.22.1`).
|
||||
2. Remove the `@discordjs/rest` and `discord-api-types` dependencies from `package.json`.
|
||||
3. Run `npm install` to apply the changes and ensure all packages are up-to-date.
|
||||
|
||||
## Error: Cannot find module 'discord-api-types/v9'
|
||||
|
||||
**Context:** After removing the `discord-api-types` package, the application fails to start due to a missing module error in `discord-bot/deploy-commands.js`.
|
||||
|
||||
**Root Cause Analysis:**
|
||||
|
||||
The `deploy-commands.js` file was still referencing `discord-api-types/v9` for API-related enums or types. Since this package is no longer an explicit dependency (as it is bundled with `discord.js` v14), the import fails.
|
||||
|
||||
**Solution:**
|
||||
|
||||
The `deploy-commands.js` file needs to be updated to import the necessary modules, such as `Routes`, directly from `discord.js` instead of the now-removed `discord-api-types` package.
|
||||
|
||||
## DiscordAPIError[10004]: Unknown Guild
|
||||
|
||||
**Context:** The backend throws an "Unknown Guild" error when the frontend tries to fetch the channels for a server that the bot is not a member of.
|
||||
|
||||
**Root Cause Analysis:**
|
||||
|
||||
The `/api/servers/:guildId/channels` endpoint was attempting to fetch guild information regardless of whether the bot was actually in that guild. This caused a Discord API error when the guild was not found.
|
||||
|
||||
**Solution:**
|
||||
|
||||
The endpoint will be updated to first check if the guild exists in the bot's cache using `bot.client.guilds.cache.get(guildId)`. If the guild is not found, it will return an empty array, preventing the API error.
|
||||
Reference in New Issue
Block a user