Skip to content

fix: crash dans listener-loader quand aucun argument d'événement n'a .guild#153

Open
RedsTom wants to merge 1 commit into
masterfrom
hotfix/listener-loader-guild-crash
Open

fix: crash dans listener-loader quand aucun argument d'événement n'a .guild#153
RedsTom wants to merge 1 commit into
masterfrom
hotfix/listener-loader-guild-crash

Conversation

@RedsTom

@RedsTom RedsTom commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Bug

TypeError: Cannot read properties of undefined (reading 'guild') sur src/core/loaders/listener-loader.ts:49 quand un événement Discord ne contient aucun argument avec une propriété .guild directe.

Cela arrivait avec messageReactionAdd/messageReactionRemove — l'objet MessageReaction n'a pas de .guild direct (il faut passer par reaction.message.guild).

Fix

  1. Ajout de ?. après args.find(...) sur la ligne .guild?.id → empêche le crash quand aucun arg n'a .guild
  2. Ajout de .guildId sur la ligne args.find((arg) => !!arg?.guildId) → retourne l'ID au lieu de l'objet
  3. Deux nouvelles fallbacks message.guild et message.guildId → gère les événements comme messageReactionAdd où les infos sont dans arg.message
  4. Suppression de la ligne arg.rolesGuildMember.id est le user ID, pas le guild ID (bug préexistant)

- Add optional chaining to prevent crash in guildId resolution
- Add fallback for message.guild/message.guildId (handles
  messageReactionAdd/Remove events where the reaction object
  doesn't have a direct .guild property)
- Remove incorrect arg.roles check (GuildMember.id is user ID, not guild ID)
- Fix missing .guildId accessor on the guildId fallback
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant