What’s happening to apps?
If you use apps frequently on Discord or have used them in the past, you may notice a couple things have changed. First, apps can do all sorts of new party tricks they haven’t been able to do before - that’s because in the past year we’ve built a variety of new features for developers to play with (buttons, attachments, localized commands!) and make their apps more accessible and fun.
Secondly, we’re also standardizing how app commands work so they’re easier and safer to use. In a nutshell, the ‘old way’ was talking to a bot (e.g. sending a message, which it would read) to tell it what to do. The ‘new way’ is to type a slash “/” to bring up a menu of available commands in the server, so you can select the one you want. These are called Slash Commands. We love using them, and we know millions of you who are using them already do, too!
You can try it now with our oldest bot friend, Airhorn. Add it to your server, then type “/” and see what it can do for you. Tip: Next time one of your chats on voice is winding down from a serious discussion, use /gavel to adjourn everyone. (Feels nice, doesn’t it?)
Our wonderful developer community has been working on migrating their existing apps to this new command system: this means some apps are still on the old, some are fully on the new, and some are still offering both - to give you time to get the hang of the new ones.
- For verified apps (bots that have a checkmark displayed), Slash Commands are the new standard for interacting with them. Huzzah!
- For unverified apps (bots that don't have a checkmark), you may still be using text commands when you interact with them, depending on what the developer prefers.
September 1, 2022 is the final switchover date. This means that, if the developer of one of the apps you’re using has not made the switch yet, parts of the app might not work after that time.
We’ve given lots of notice to developers that this migration is happening, but if you have questions or are concerned about it, definitely reach out to them in their support server or website and check in.
Read on to celebrate and learn about the results of this work - and all the cool things developers can now do with apps and bots!
New party tricks
Whether an app uses these features depends on whether the developer chooses to implement them - and what kind of app it is and what it does - but they are all available now, and we’re seeing more and more great examples every day!
Easier to use
1. Introducing the command picker! When you type “/” a handy menu of available slash commands pops up. At the top, you’ll see commands you use most often.
2. Jump to the app you want to avoid confusion with similar commands. In the command picker you’ll also see a list of app icons - all their available commands are alphabetized, so clicking on an app will bring you straight to the relevant ones. (You’ll never accidentally do the wrong /play again.)
3. Your most recent commands are at the top. For all those go-to commands, you can access them more easily with the “frequently used” section at the top of the picker.
4. Autocomplete for interactions. Every second counts in a busy day - save some time typing out long phrases with our support for autocomplete when using commands or searching in menus.
New things to do
1. Buttons!!! So fun, so colorful, so... self-explanatory. A great example of buttons making things easier is as an alternative for using reaction emojis with a bot (like to have it assign you a role). It might not seem that different, but on the backend, clicking a button is much better for developers because it helps the bot be more efficient - and run faster.
Buttons come in multiple colors, and can even be a mini-game themselves. They can can also support links, making it easy to direct folks where you need them to go.
2. Select menus. These are dropdowns, which helps a bot offer a long list of choices while making it easier to scroll and select, which saves tons of space (and time).
3. Context menus can have commands in them! This is a lesser-known but super convenient method of accessing an app command quickly in a way that feels native to Discord - but it’s customized just for you. Here’s a little breakdown of what this feature is:
Right-clicking on things like channels, categories, and users will bring up what we call a context menu:
If an app has commands that are specific to certain areas of Discord, they can live directly in that context menu for easier access. For example, a command that does something particular for a channel could be added directly to the channel context menu.
Any context menu with commands added will have an additional option on the menu that says “Apps.”
Hovering over “Apps” will display any commands. You’ll see the app icon next to them, to help you know which app is doing this task for you and help you make sure you’re using the right one, if there are multiple.
Selecting the command tells the app to do the task immediately - unlike the command picker, which may give you a few choices first or require you to hit ‘enter’ before it executes the task. This means baking commands into context menus where they’re used the most will save you a little time. Note: context menu commands do not appear in the command picker.
1. Ephemeral messages! These are messages a bot sends to you that are viewable only to you - there are plenty of situations where this comes in handy, but a really common way you’ll see this used is when an interaction you tried to do didn’t work properly: developers can set errors to be ephemeral, which means it keeps the chat clean and tidy. And aside from keeping dirty laundry out of view, ephemeral messages can also be a fun way to interact privately (without DMing you!) - which means you can use them when you’re playing a game and need to make moves without other people seeing (ssh).
2. Command permissions system. We recently announced this shiny new Integrations page, which has a fully customizable menu for commands. Moderators and admins who want to add new apps to their servers often need to make sure they can control where slash commands can be used - what channels, and by whom - and even which commands can be used. (Everyone should be able to use /help in any channel, but maybe /puppies should just be in the #pet-motivation channel - and /ban is for admins only.) With command permissions, slash commands become an even stronger improvement from the old command methods, as they become more flexible and customizable to your server’s needs. (Read our blog post or check out Help Center for tips.)
Tips and tricks
Find something cool? Here’s how to add it to your own server!
- Click on the bot (the ‘user’ part of the app, shown in the members list) to open up its bot user profile
- Click the ‘Add to Server’ button
- Choose what server to add it to (the list will show all servers for which you have the ‘manage server’ permission).
If you don’t see the ‘Add to Server’ button, it might be because the developer hasn’t enabled it yet. They can do this easily in the developer portal any time.
Have questions? Reach out to the developer!
- Some devs have support servers or community servers for fans. It’s a great way to explore and practice using the app before you bring it into your own server, too. Many devs also ask for feedback and suggestions.
Resources for Discord Developers
- Our Developer Portal is where you can read our API documentation and create your next app.
- Discord Developer server: Our official server with over 100,000 developers creating valuable and delightful experience for fellow users on Discord. We host community events and Q&As and provide testing and feedback opportunities for new features, so come join us!
- Roadmap on Github: Get a feel for upcoming features we’re actively working on, and submit suggestions for new ones you’d like to see.
- Message Content FAQ: Read why Message Content is becoming a Privileged Intent - the deadline for migrating off of message content is Aug 31, 2022. Read our evaluation criteria (Message Content Review Policy) first if you plan on requesting the Message Content Privileged Intent.
- To help, here are some more Upgrading Apps to Use Application Commands!