Welcome to this quick guide I whipped up to help explain what User Apps are on Discord, so Server Owners/Admins/Moderators can know what to expect. (Since Discord doesn't actually have a decent Support Article on User Apps at the time of writing this)
Note
Yes, I will be using the term "Bots" instead of "Apps" here, just for ease of understanding since not everyone has switched over to Discord's new branding for Bots :)
Important
This guide assumes you have familiarity with what Slash Commands and Context Commands are. If you don't, please read this Support Article first!
In short: User Apps are Bots that can be added to your Account, instead of to a Server.
These allow you to then use that Bot's Commands1 everywhere on Discord - in Servers, Group DMs, and DMs - even if the Bot itself isn't actually in that space.
Because the term "User Bots" has been used for years to refer to automating a standard User Account (not your own Account2), something which is against Discord's Terms of Service to do.
Also, because Discord decided to rebrand "Bots" into "Apps", as to try to get away from the negative connotations the term "Bot" has gained recently (no thanks to Twitter/Facebook/etc).
No. The Bot's developer has to explicitly configure & code their Bot to support being used as a User App.
In a similar way to how you would add one to a Server!
Either by using a special User App invite link, or (if the Bot's developer has enabled it) by clicking the "Add App" button in the Bot's profile in Discord.
Yes. In Discord, go to User Settings > Authorized Apps, then find & revoke the User App.
After revoking a User App from your Account, you'll have to readd it again if you want to use its User App Commands.
No. Literally the only thing User Apps can do is respond to when you use one of their Commands, Buttons, or Select Menus.
The only Messages they can see in spaces they are not in, are the Messages you explicitly use a Message Context Command on.
Technically yes.
If you don't want your Members having User App responses posted publicly in your Server's Channels, you can revoke the "Use External Apps" Permission from your Members (yes, it's in both Server Settings > Roles, and in Channel Permission overrides)
Responses to User App Commands will be forced to be private (ie: only the User running the Command can see it) if the User running a User App Command does NOT have this Permission.
Also technically yes!
User Apps will always inherit from the Permissions the User running the Command has. So if a Member in your Server doesn't have the "Attach Files" Permission, any User Apps on that Member's Account will not be able to include attachments in their responses in your Server when that Member runs their Commands.
In short: If you don't want User Apps to have a specific Permission, revoke it from your Server Members!
Note: This is referring to text-chat based Permissions, as naturally User Apps cannot do anything other then respond to their Commands. So don't worry about the risk of a User App deleting Channels - that's literally impossible! (Unless you have also invited its Bot User to your Server, then it can use its Bot User to expand its functionality).
Correct!
In DMs and Group DMs, User Apps will, by default, have the "Attach Files", "Embed Links", and "Mention Everyone" Permissions.3
Does the native AutoMod feature also apply to public User App responses in Servers?
Yes. Public User App responses in Servers will be forced-private (or blocked) if it hits any of your Server's enabled AutoMod Message Filters.
Can my Server Members use a User App Command to view information about my Server? (Such as through a /serverinfo
Command)
Only what public info is provided to all Bots & User Apps when using Slash & Context Commands, without needing specific Server Permissions.
This can include, but is not limited to: the Server's name, icon, Owner ID, etc.
Considering such information is not considered sensitive and is publicly accessible through the public API, there's not much to worry about.
Feel free to leave a comment below if I made a mistake or missed anything out! :)
Footnotes
-
Specifically, Slash and Context Commands only. Not the older Text-based "Prefix" Commands. ↩
-
Automating your own User Account is referred to as a "self-bot", which is also against Discord's Terms of Service. ↩
-
Sourced from the API Documentation Change Log. ↩