The Message object returned between .editReply() and .fetchReply() behave differently

I wanna know more about this
await interaction.deferReply();

const msg = await interaction.editReply('test');

const _msg = await interaction.fetchReply();
await interaction.deferReply();

const msg = await interaction.editReply('test');

const _msg = await interaction.fetchReply();
in fact, msg and _msg are the same Message object, but it behaves totally different. For example if I delete the message and check its properties again, it shows something like this.
msg.editable = true
_msg.editable = false
msg.editable = true
_msg.editable = false
What's the difference between msg and _msg?
5 Replies
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
Bloonatics
BloonaticsOP3y ago
Since this issue has caused unexpected errors in my verified bot project, I have conducted multiple research yesterday and identified the errors
Bloonatics
BloonaticsOP3y ago
yes, therefore I have appended an additional .fetchReply() at the end I'm using this in InteractionCollector therefore I can find out if a message is deleted by the collector end reason "messageDelete" yes, fetching a message and see if the promise rejects is still the most stable way to validate a message I have both prefix commands and application commands therefore the .editable and .deletable will be deprecated
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
Bloonatics
BloonaticsOP3y ago
alright thanks for your help, I have completed identified and fixed the problem already
Want results from more Discord servers?
Add your server