Allow interaction tokens to inherit external emoji permissions #3307
-
Description Allow interaction tokens to inherit external emoji permissions from either the everyone role or the bot permissions, whichever is more permissive. Why This is Needed Currently, when sending a response to a slash command, assuming you also have a regular bot in the channel, you have two ways of responding to that command (ignoring any manage webhooks you may have as that probably won't change the outcome too much).
The interaction token and your bot can have a different set of permissions, which makes it complicated to work out which is the best choice to use if you want to send a given message without hitting a 403. Interaction tokens have:
Bot tokens have:
You want to use bot tokens when:
You want to use interaction tokens when:
This makes choosing which token to use rather difficult; in order to choose you need the following information:
Alternatives Considered
Additional Details This is really inconvenient to compute, and as you can hopefully tell, really non-obvious to consider when explaining. Most users are probably unaware that external emojis are linked to the everyone role and even if they are, it takes a lot of thinking to decide what should be done. In the worst case, you have to choose which of a disjoint set of permissions you'd prefer to use for a given command, which is pretty bad from a usability standpoint; I'd prefer it if there was always a 'best choice' you could make or make said choice not matter. |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 6 replies
-
s/more/less/ |
Beta Was this translation helpful? Give feedback.
-
I'd like to add on to this maybe the possibility to have a separate toggle for slash command responses (per integration would be nice, but as a general thing would be fine). |
Beta Was this translation helpful? Give feedback.
-
Any update on this? This will be especially significant in light of the upcoming message content access deprecation since bots and users would actively use slash commands/interactions. Users would expect external emojis to work if the bot has the permission as that's the logical assumption. |
Beta Was this translation helpful? Give feedback.
-
I second this. I just completed the migration of my bot to slash commands, and currently I have to tell my users to enable external emojis for the everyone role for some of the replies to display properly. Really annoying... |
Beta Was this translation helpful? Give feedback.
-
Adding onto this, you are currently unable to mention roles via interactions without having the |
Beta Was this translation helpful? Give feedback.
-
Has there been any progress towards a resolution? Interaction Responses should inherit all non-destructive permissions from their bot's integration role (rather, they should have the perms of the bot/integration's role, otherwise default to With the deadline still months away, but rapidly approaching, I'd like to release slash commands to my users long before the cutoff window. I cannot do that as things currently stand. Slash commands have come far from their initial introduction, but there's still a fairly decent amount of polish needed API-side before we can remotely consider the approaching cutoff date, otherwise countless toes will be left trampled. Thanks. |
Beta Was this translation helpful? Give feedback.
-
This needs to be fixed actually, for small bots it may not be a problem, but for bots which are in a large number of servers, there would definitely be issues because you can't expect each server to have |
Beta Was this translation helpful? Give feedback.
-
I'd take this a step further and say that messages posted as a response to interactions should be able to use all emojis like components can. This would make the expectation / behavior consistent within the ecosystem that is application commands. Additionally, interactions already ignore most permissions ( |
Beta Was this translation helpful? Give feedback.
-
This feature has been merged and deployed. If an interaction is owned by an application with a bot in the server, the interaction will respect the bot's permissions for The same is true for webhooks created/owned by bots in the server. Interactions owned by an application without a bot in the server will continue to respect |
Beta Was this translation helpful? Give feedback.
This feature has been merged and deployed.
If an interaction is owned by an application with a bot in the server, the interaction will respect the bot's permissions for
MENTION_EVERYONE
,USE_EXTERNAL_EMOJI
, andSEND_TTS_MESSAGES
.The same is true for webhooks created/owned by bots in the server.
Interactions owned by an application without a bot in the server will continue to respect
@everyone
for those permissions.