Can't use Emoji from other Server in followUp.

Okay so I spent WAY too long trying to understand whats going on. My bot is in a server for custom emotes that it uses. And it can access those just fine for example with:
interaction.channel.send(":EMOTE_FROM_THIS_SERVER: :EMOTE_FROM_EXTERNAL_SERVER:");
interaction.channel.send(":EMOTE_FROM_THIS_SERVER: :EMOTE_FROM_EXTERNAL_SERVER:");
Works perfectly fine. Now here's the thing, with .followUp() instead of .send():
interaction.channel.followUp(":EMOTE_FROM_THIS_SERVER: :EMOTE_FROM_EXTERNAL_SERVER:");
interaction.channel.followUp(":EMOTE_FROM_THIS_SERVER: :EMOTE_FROM_EXTERNAL_SERVER:");
Only EMOTE_FROM_THIS_SERVER displays correctly. EMOTE_FROM_EXTERNAL_SERVER just shows the name. (See Image) Now here are my questions: A: Why in gods name is that the case? B: Is that a weird limitation on discords side? C: If it's not on discords side, is this a bug and is there a workaround to allow external emotes in followups? D: Can I somehow get back the time I wasted figuring out this weird behaviour?
2 Replies
d.js toolkit
d.js toolkit2y ago
• What's your exact discord.js npm list discord.js and node node -v version? • Post the full error stack trace, not just the top part! • Show your code! • Explain what exactly your issue is. • Not a discord.js issue? Check out #useful-servers.
Shadow
ShadowOP2y ago
DJS: [email protected] Node: v20.0.0 oof. So I'm still better off with just using .send() instead of .followUp() because seems like UseExternalEmojis isn't set on everyone per default. and I can't have my embed fail on server that didn't explicitly set the permission. Is it an actual confirmed bug or is it just discord not caring again? Eh ill just use the followUp to "prefix" the actual reply. Its a bit ugly but whatevs.
await interaction.followUp("Shop:");
return await interaction.channel.send({
embeds: [embed],
// ...
});
await interaction.followUp("Shop:");
return await interaction.channel.send({
embeds: [embed],
// ...
});
--- Also thanks for the answer and the valuable insights! Ohhhh, I see! So because of my deferReply (bot takes a while to compute) the first followUp is just an editReply under the hood. Sorry, didn't understand that at first. Yea with the second follow up it works too. That opens another can of worms now tho since between the deferReply and the embed send reply there are potential followUps in between if something goes wrong / cant be parsed / etc hmmmm actually, doesn't matter. those replies don't use emotes and having that "prefix" followUp before the last reply is a failsafe in any case yea .replied could work too. but just had a brain lag. its not even needed thanks for taking the time to help! :)
Want results from more Discord servers?
Add your server