fix(Message): flags not being parsed on some edits #5886
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One of those rabbit hole bugs that made me change a few things.
To start with,
Message#suppressEmbeds
was broken. This is because:Message#edit({ flags: 4 })
.MessageManager#edit(this.id, options)
MessageManager#edit
constructs anAPIMessage
withthis
as the target.APIMessage#resolveData
only resolvesflags
if theAPIMessage#target
is aMessage
orInteraction
.https://github.com/discordjs/discord.js/blob/master/src/structures/APIMessage.js#L159-L164
So, I decided that:
Message#edit
should passthis
rather thanthis.id
.MessageManager#edit
should pass the whole message toAPIMessage#target
if provided with one.APIMessage
should supportMessageManager
as a target also, for when making cacheless edits by ID.Status and versioning classification: