#discord-dev-news

146 messages · Page 1 of 1 (latest)

opal oliveBOT

Hi all!

We're pushing a change to message.interaction which will make its name field include subcommand group and subcommand if applicable (i.e. if the message is a response to a slash command with subcommand groups or subcommands). This change is not retroactive, and will affect messages from gateway as well as api. Please let us know if you see any issues invoking slash commands with subcommands.

This is being reverted, sorry for the disruption!

opal oliveBOT

Change to Bot Permissions in Interactions and Webhooks

⚠️ This includes an upcoming breaking change for some bots

Starting on July 28, 2022 (in about a month), the way bot's permissions will be calculated for interaction responses and webhook execution will be updated. Instead of using the permissions calculated for @-everyone, permissions will be calculated specifically for the bot (including any overwrites).

This change aligns with how bot's permissions are calculated when performing actions like posting a message to a channel. The permissions that may be affected for your bot are ATTACH_FILES, EMBED_LINKS, MENTION_EVERYONE and USE_EXTERNAL_EMOJIS. More details can be found in the change log entry.

📝 Change log entry: https://discord.com/developers/docs/change-log#changes-to-bot-permissions-for-interactions-and-webhooks

🧑‍💻 Updating your app
If your bot wants to use any affected permissions when responding to interactions or executing a webhook, ensure that the bot was installed with them. If it wasn’t, your app with the bot should be re-authenticated with them before July 28.

Using the new app_permissions field will hopefully make it a bit easier to fetch the contextual permissions your bot has.

opal oliveBOT
opal oliveBOT

Default applications.commands Scope for Bots

After upgrading to the latest client (or when using the web), users installing an app with the bot scope will have the applications.commands scope automatically requested during the OAuth flow. Apps without the bot scope will still need to explicitly request the applications.commands scope.

Moderators’ and admins’ ability to limit an app’s permissions for commands are unaffected by this change.

Do I have to do anything?
Nope! As commands become more essential for apps, we wanted to make it easier for devs to start installing and implementing them.
If you're requesting the bot scope during OAuth installation, you're all set.

opal oliveBOT

Reminder: Upcoming Message Interaction Object Change

Just a reminder about the minor breaking change to Message Interaction Objects rolling out on <t:1658174880:d> (mostly because I forgot to publish the last one 😅). This change updates the name field for message interaction objects to include subcommands and subcommand groups in its value (in addition to the existing top-level command).

The name field is only on messages that are a response to an interaction without an existing message, so interaction responses are unaffected.

🔁 Original message with more info: #697138785317814292 message

opal oliveBOT

Upcoming Prompt for Mods/Admins to Enable Slash Commands

Next week, we’ll begin rolling out a prompt to users with the Manage Server permission in servers with one or more apps installed that have the bot scope but are not granted the applications.commands scope. The prompt will provide information about slash commands and include a button to enable them. Enabling slash commands will grant all eligible apps in the server the ability to install commands without requiring reinstallation with the applications.commands scope.

This update has no effect on the existing permissions system. After enabling commands, the prompted user will be guided through toggling command permissions on a per-app basis in the Integrations tab within Server Settings so that users can invoke each app's commands.

Users with the Manage Server permission will only be shown the modal once, but after that they can still enable slash commands through a sidebar banner.

🖼️ Preview images in thread~

opal oliveBOT

Upcoming Permissions Change to Webhook Routes

Hey fam. On <t:1659942109:D> we will begin requiring the VIEW_CHANNEL (1 << 10) permission for webhook routes which require MANAGE_WEBHOOKS (1 << 29), to align with our documented behavior. We don't expect that many applications will be affected by this, but in case you are, please ensure you have updated permissions needed for accessing the following routes:

  • GET /webhooks/{webhook.id}
  • DELETE /webhooks/{webhook.id}
  • PATCH /webhooks/{webhook.id}
  • GET /channels/{channel.id}/webhooks
  • POST /channels/{channel.id}/webhooks
opal oliveBOT

TLS 1.2+ required

Discord has raised the minimum TLS version from 1.0+ to 1.2+ for all Discord websites, including the API.

Transport Layer Security (TLS) is an encryption protocol that protects Internet communications. TLS 1.2 was released in August 2008 (along with Twilight: Breaking Dawn) and its requirement is in line with industry best practices.

opal oliveBOT

Hi all! We’re happy to announce that open beta for slash command localization is starting today! In addition to being something we know a lot of you have been eager for, it’s also a great feature for expanding the userbase of your apps. We have betas available for iOS and desktop.

-The iOS beta requires you to have an app of version 117.0 or higher installed. You don't have to do anything special to enable it, other than be a member of this server.

-The desktop beta requires a build override, which is linked below. It's built on top of slate 2, so it will include the look and feel changes from that override.

-(Android is under development and we’ll have more news on it in the future.)

In addition, you can already begin submitting translations for slash commands, as the API for this is stable. See the documentation at https://discord.com/developers/docs/interactions/application-commands#localization for instructions and other details.

As a reminder, a user’s chosen language is now available in interaction payloads, so you can localize your interaction responses as well.

Please let us know in #956670794925228032 if you have any feedback about the behavior of localized slash commands!

Desktop build override:
https://discord.com/__development/link?s=BfVH8Z8qL1z5eLXlAUJT5uqob9jkwn937VrnvSL5kXg%3D.eyJ0YXJnZXRCdWlsZE92ZXJyaWRlIjp7ImRpc2NvcmRfd2ViIjp7InR5cGUiOiJicmFuY2giLCJpZCI6ImZlYXR1cmUvd2ViLXNsYXNoLWNvbW1hbmQtbG9jYWxpemF0aW9uIn19LCJyZWxlYXNlQ2hhbm5lbCI6bnVsbCwidmFsaWRGb3JVc2VySWRzIjpbXSwiYWxsb3dMb2dnZWRPdXQiOmZhbHNlLCJleHBpcmVzQXQiOiJXZWQsIDMxIEF1ZyAyMDIyIDE3OjU2OjQ2IEdNVCJ9

opal oliveBOT

Hey everyone! We’ve got an announcement to share with you: we're testing a commands badge on bot profiles, which will help draw attention to the fact that a bot supports commands - as well as help educate users on features that bots have, which we know is something you all have requested.

If your app has at least one global command, you will see this badge show today!

What to know:

dot The badge will be displayed on the bot's user profile
dot The tooltip (when hovering over the badge) will say "Supports Commands"
dot Clicking on the badge itself will direct users to a web page that describes in more detail what slash commands are, what additional features bots can support, and other FAQ. If you haven’t seen this page yet, it’s here: https://discord.com/blog/welcome-to-the-new-era-of-discord-apps
dot All bots and apps are eligible! Slash commands, user commands, and message commands all count. All you need to do is register at least one global command for your app. (You can learn more about how to do this here: https://discord.com/developers/docs/tutorials/upgrading-to-application-commands)
dot If your app already meets this criteria, congrats!

Helping users understand how to get the most out of apps has been and will continue to be one of our top priorities. This is one thing we’re trying out, and there will be more coming soon! Enjoy.

opal oliveBOT

Hi everyone. There is currently an issue being investigated with interaction edits, deletes, and followups. This issue results in receiving 50027: Invalid Webhook Token errors when trying to edit, delete, follow up, or take some other actions on interaction webhooks.

opal oliveBOT

Webhook token problem has been identified and we are working on rolling out a fix. We will update this message when it is resolved.

opal oliveBOT

The webhook token problem should be fixed.

As a reminder, we saw a Snowflake length increase to 19 characters today! Snowflakes are 64 bit integers, so the max base 10 length is 20 digits now.

opal oliveBOT

Hey everyone pikawave An important reminder for developers of verified apps: the deadline for the new message content restrictions is <t:1661972400:D>, so you have 1 month left to make any remaining changes.

This is a breaking change and will restrict access to message content for verified bots and apps across the Discord API, including in the content, embeds, attachments, and components fields.

To prevent your app from breaking, you should update it to follow the new restrictions before the <t:1661972400:D> deadline (most apps can use slash commands and message components to maintain functionality without needing access to message content), or you can apply for the message content privileged intent within the developer portal.

For additional information about the change and how your app may be affected, you can read the Message Content FAQ: https://support-dev.discord.com/hc/en-us/articles/4404772028055-Message-Content-Privileged-Intent-FAQ

opal oliveBOT

Session-specific Gateway Resume URLs

A new resume_gateway_url field has been added to the Ready gateway event to support session-specific gateway connections. The value of resume_gateway_url is a session-specific URL that should be used when resuming the gateway session after a disconnect. Previously, wss://gateway.discord.gg was used to connect and resume sessions, but should now only be used during the connection.

⚠️ Starting on September 12, apps that aren’t using resume_gateway_url to resume gateway sessions will be disconnected faster than normal. wss://gateway.discord.gg will NOT stop working.

📝 Change log entry: https://discord.com/developers/docs/change-log#sessionspecific-gateway-resume-urls

Note: At the moment, the value of resume_gateway_url will always be wss://gateway.discord.gg to give developers more time to adopt the new field. In the near future, the value will change to the zone-specific URLs (ex: wss://us-east1-b.gateway.discord.gg).

opal oliveBOT

🌐 Localized Application Commands 🌐

Today, support for localized command names and descriptions will be rolling out across all* clients. To add localized commands to your app, you can use the name_localizations and description_localizations fields when creating or updating commands.

✍️ Documentation: https://discord.com/developers/docs/interactions/application-commands#localization

🐧 Penguin fact: while penguins can't fly, they can jump out of the water up to 9ft in the air ablobhop

opal oliveBOT

slashcommand Automatic Command Scope Migration slashcommand

Hey all wumpus_wave Based on feedback from our scope migration experiment announced on <t:1657728000:d>, we’ve decided to grant applications.commands to all apps with the bot scope. This will be rolling out within the next couple of days.

How it’ll work
When an admin opens a server, apps in that server will automatically be granted the applications.commands scope. If the app previously didn't have applications.commands and has at least one global command registered, the @everyone role's permission to use the app’s commands will be turned off by default. However, the admin will be shown a banner that prompts them to navigate to their server settings and toggle that permission.

bongoping And just a reminder: as of <t:1657555200:d>, any apps installed with a bot scope are granted the applications.commands scope by default.

opal oliveBOT

@@@ Slash Command Mentions @@@

📰 Change log: https://discord.com/developers/docs/change-log#slash-command-mentions

Slash Command mentions are rolling out across all clients* this week! aotterfire Similar to mentioning a user or channel, you can now mention a Slash Command to surface and share it. Simply use the new format </NAME:COMMAND_ID>, and the command will display inline as a clickable element. When a user clicks the mention, the command will auto-populate in their message input.

Subcommands and subcommand groups can also be mentioned by using </NAME SUBCOMMAND_NAME:ID> and </NAME SUBCOMMAND_GROUP SUBCOMMAND_NAME:ID> respectively.

🦦 Otter fact: Otters have a small pocket under each forearm that they use to store and carry their favorite rock wherever the world may take them. How relatable!

opal oliveBOT

__🤖 Global Slash Commands in Bot Profiles 🤖 __

As many of you noticed, we recently began rolling out global slash commands to bot profiles last week for verified apps. This week, we're rolling them out to 100% of verified apps ablobwobroll

With this update, a max of 5 of your app's most-used global slash commands are now visible in your bot profile (as long as your app is verified). These commands are directly invokable, making them more discoverable and usable for users across Discord sparklies

How do I enable it?
You don't have to do anything! As long as your app is verified and has at least one global slash command, a max of 5 will be displayed in your bot profile automatically.

Can I change which commands appear in my bot profile?
No, at the moment you can't control which commands are present.

opal oliveBOT

[Original Message Deleted]

opal oliveBOT

💬 Message Content is Now a Privileged Intent 🗨️

⚠️ Today, message content is becoming a privileged intent for verified bots and apps as previously detailed: https://support-dev.discord.com/hc/en-us/articles/4404772028055-Message-Content-Privileged-Intent-FAQ

Any app that does not have the message content intent configured in its settings within the Developer Portal wiIl receive empty values in fields that expose message content across Discord's APIs. These restrictions do not apply for messages that a bot or app sends, in DMs that it receives, or in messages in which it is mentioned. The new message content restrictions will happen gradually throughout today, so you may not immediately encounter the new restrictions.

💡 Details about the message content intent is in the docs: https://discord.com/developers/docs/topics/gateway#message-content-intent

➡️ If your app is verified or eligible for verification:
Verified apps must be approved for the message content intent to receive message content. If your verified app isn’t approved, or doesn’t account for the new message content restrictions, it will break for users.

Temporary Message Content Intent Toggle
Verified apps or apps that have submitted for verification can temporarily opt-in to a grace period which will allow your app to continue receiving message content until October 1. However, if you opt-in to the grace period, your app will be prevented from joining any additional servers until you opt-out. You can toggle the temporary grace period at any time in your app's settings within the Developer Portal.

After Oct 1, the toggle will be disabled and there will be no way to enable the message content intent without Discord approval.

💡 Details about temporarily enabling message content: https://support-dev.discord.com/hc/en-us/articles/8561391080471

Applying for the Message Content Intent
To be approved for the intent, your app must have a use case that requires message content as described in the Review Policy: https://support-dev.discord.com/hc/articles/5324827539479. You can apply for privileged intent from your app’s settings in the Developer Portal after it’s verified.

Once your app is approved for the message content intent, you still must toggle the intent in your app’s settings on the Bot page under the “Privileged Gateway Intents” section.

➡️ If your app is not verified:
For unverified apps (that aren't eligible for verification), Discord approval is not required to use the message content intent, but you still must enable the intent in your app’s settings within the Developer Portal.

Existing unverified apps will automatically have the message content intent toggled on in their settings, but going forward, newly-created unverified apps will have the message content intent toggled off by default.

➡️ Gateway session reconnects:
As part of the deployment of the new message content restrictions, the majority of connected bots (verified and unverified) will see their WebSocket gateway sessions invalidated and closed. Because of the amount of bots using the Gateway, these restarts will not happen all at once. If your bot is correctly implementing normal recovery logic of a dropped connection, you shouldn't see any issues. Most developer libraries have recovery logic built-in, but if you aren't sure you can check the library's documentation or ask its maintainers.

For the Gateway session rollovers, bots will receive an INVALID_SESSION (Opcode 9) and the d field will be set to false, indicating the session is not resumable and that your bot will need to reconnect to the Gateway and send a new Identify event.

💡 Details about INVALID_SESSION and how to handle it: https://discord.com/developers/docs/topics/gateway#invalid-session

📌 FAQs and Resources are pinned in #697489244649816084 (in DDevs)

opal oliveBOT

📓 Update to App Directory listing fields 📓
Hey all, just a quick update about recent changes to App Directory listing fields. There are now two fields where you can add Directory-specific descriptions for your app: Description and Expanded Description.

Both fields are in your app's settings within the Developer Portal (if your app is verified). On the left sidebar under App Directory > Product Page:
Description is a short description for your app (up to 200 characters) that cannot contain markdown. This will be shown in places like search, and will be required for your app to appear in the Directory.
Expanded Description is a longer description for your app (up to 8k characters) that can contain markdown. It will be shown as the description on your actual App Directory listing. This field is optional, but if you don't provide an expanded description for your app, the listing will fall back to the Description field.

🐍 Snake fact: The fastest snake in the world is the Black Mamba, recorded at 12.5 miles per hour. It would take a Black Mamba about 2 years to slither to the moon!

opal oliveBOT

__forums Forum channels released to community servers forums __

As you may have seen on the blog, forum channels have started rolling out more broadly to community servers. Forum channels are a new channel type (GUILD_FORUM) that offer a more dedicated space for topics of discussion, composed only of threads.

✏️ API documentation: https://discord.com/developers/docs/topics/threads#forums
📰 Change log: https://discord.com/developers/docs/change-log#forum-channels-release

And more information about forum channels can be found in the blog post:
forums https://discord.com/blog/forum-channels-space-for-organized-conversation

--

ddev In our DDevs stage event at <t:1663178400:t>, you can hear from an engineer from the Forum channels team and ask any questions you may have.

opal oliveBOT

AutoMod Spam and Mention Spam Trigger Types

Hey all, a few new trigger types were added to AutoMod to protect against server spam and raids:

  • MENTION_SPAM blocks messages that mention more than a set number of unique server members or roles. The limit can be controlled with the new mention_total_limit field.
  • SPAM blocks links and messages that are identified as spam

Just like before, your app must have the MANAGE_GUILD permission to create, update, or delete any Auto Moderation rules.

And feedback or questions can be answered in the #987093490066403408 channel pikasmile

✏️ API documentation: https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types
📰 Change log: https://discord.com/developers/docs/change-log#automod-spam-and-mention-spam-trigger-types

And more information about the new trigger types is in the blog post:
automod https://discord.com/blog/new-anti-spam-raid-automod-safety-update

Sticking with the animal speed theme...

rainbow_corgi **Corgi fact: ** Corgis can run up to 25mph, just under the world sprinting record for humans (and twice as fast as black mambas)

opal oliveBOT

SH_point New Select Menu Components SH_point

✍️ Change Log: https://discord.com/developers/docs/change-log#new-select-menu-components

📄** Documentation**: https://discord.com/developers/docs/interactions/message-components#select-menus

Four animatedsparkles shiny sparklies brand new select menu message components have been added. The new components' options are automatically populated with the corresponding resource:

  • User selects (type 5)
  • Role selects (type 6)
  • Mentionable (user and role) selects (type 7)
  • Channel selects (type 8)

They're defined in a similar way to the existing select menu component (now named the string select component), though their payload doesn't include options. Channel selects also have an additional channel_types field available to filter on channel type.

pelican **Pelican fact: **Oh pelicans pelicans, their beaks can hold more than their bellies can~ (up to 1 galloon in the stomach, and 3 galloons in the beak!)

opal oliveBOT

wumpus_peek As you may have seen this morning (https://discord.com/blog/building-the-future-of-discord), our App Directory is about to start rolling out! The experiment will be rolling out to a select number of users in the next 1-3 days. It will be accessible in server settings, which means you’ll only see it in servers where you have manage server permissions.

We’ve also given the experiment to anyone with an app in the App Directory, so if you’ve completed your checklist and opted-in, you will see it in your support server starting tomorrow

It’s been a long road and we’re so thrilled to be sharing this with you! WumpusDance

opal oliveBOT

Happy App Directory day! happydance

ablobwobroll The App Directory experiment is now rolling out! If your app is approved for discovery, your support server will have access, and the experiment will be more widely available very very soon 🐧🦦🐍 rainbow_corgipelican

The Directory will be accessible in server settings, which means you’ll only see it in servers where you have manage server permissions.

opal oliveBOT

**catghost Delete Ephemeral Messages pikaghost **

📜 Change Log: https://discord.com/developers/docs/change-log#delete-ephemeral-messages

Add even more ephemerality to your already-ephemeral messages by deleting them blobghostmelt oOoooOOoOoo

Ephemeral interaction responses and follow-ups can be deleted with a valid interaction token using DELETE /webhooks/<application_id>/<interaction_token>/messages/@original or DELETE /webhooks/<application_id>/<interaction_token>/messages/<message_id>.

🐰 Rabbit fact: Bunnies make noises, but they are very quiet. Content rabbits purrrrr by gently grinding their teeth together, and excited rabbits oink

opal oliveBOT

🤖 Automod Regex Support 🤖

📜 Change Log: https://discord.com/developers/docs/change-log#add-automod-regex-support

Automod KEYWORD rules now support the ability to catch unwanted messages using regex patterns. This is available through a new regex_patterns field within trigger_metadata (https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-metadata).

Regex patterns are a powerful way to describe many keywords all at once using one expression. Only Rust flavored regex is currently supported, which can be tested in online editors such as https://rustexp.lpil.uk/.

🦛 Hippo fact: Hippos can sleep underwater, because they have a natural reflex that lets them come up for air, take a breath, and sink back down without waking up

opal oliveBOT

🔞 Upcoming Change for Age-Restricted Commands 🔞

Next Wednesday, November 16, we’re making updates to how age-restricted commands appear and are used in Discord. As some may know, commands have accepted an nsfw field in the API for some time, and we're ready to release the next part of that feature which will hide those commands from underage users on Discord.

ℹ️ Apps in the directory are unaffected—as a reminder, age-restricted content is not allowed in discoverable apps.

In line with Discord’s other policies on age-restricted content, here’s how commands marked nsfw will work. Users who are 18 or older can opt in to age-restricted commands by going to User Settings > Privacy, and enabling the age-restricted commands toggle (which will be turned off by default).

  • In servers, these commands will only be visible and usable within age-restricted (nsfw) channels
  • In DMs, these commands will be visible and usable if
    • The user is 18 years or older
    • They have turned on age-restricted commands within Discord settings
  • Age-restricted commands will not show as popular commands on app profiles

You can see some screenshots of how this will work in the thread attached to this message. In the future, we will also start automatically tagging commands as nsfw if they fall within our policy but are not properly flagged.

We really appreciate those of you who have been asking for this feature, and your commitment to helping us keep Discord safe pikaheartbig

💡 Help Center article: https://support.discord.com/hc/en-us/articles/10123937946007
❓ If you have questions, feel free to ask them in #963510648917069899

opal oliveBOT

✨ Say hello to the new "Active Developer" badge!

We know you've all been wanting a way to proclaim yourself a Discord Developer - so starting now you can head over to the Developer Portal to grab yours! Here are some quick things to know:

active_badge This badge is for active developers - all you need in order to qualify for this badge is to have at least 1 app that has had a global application command used in the last 30 days!
active_badge Note: if you have an 'Early Verified Developer' badge, that is not going away and will remain on your profile.
active_badge You'll also sign up for our new Developer News feed! This will make it even easier to keep up with the latest news. We'll be sending the first edition out in the next few weeks!

You can run this check here: https://discord.com/developers/active-developer. Just select which app you want to get checked from the dropdown!

🦫 Beaver fact: Beavers secrete castoreum, which is used to bring out flavor in vanilla ice cream and add fruity notes to perfumes

opal oliveBOT

🔓 Upcoming Change for Command Permissions 🔐

Based on feedback, we're making some updates to permissions for application commands to simplify permission management and to make command permissions more closely resemble other permissions systems in Discord. Server admins can begin to opt-in to the command permission changes outlined in the change log on a per-server basis starting on December 16, 2022. However, changes will not be applied to all servers until late January or early February.

📰 Change log: http://discord.com/developers/docs/change-log#upcoming-application-command-permission-changes. This includes many more context and details about whether you'll be affected + how to update your app accordingly.

SystemMessageWarn Most apps will be unaffected by this change, but if your app uses the PUT /applications/<application_id>/guilds/<guild_id>/commands/<command_id>/permissions endpoint, you may need to make updates.

There are two main changes included:

1️⃣ The logic used to apply permission configurations to a user in a given context within Discord clients.
The new command permissions configuration behavior allows command-level permissions, app-level permissions, and default_member_permissions to work together rather than independently.

  • default_member_permissions acts as a “default” that a developer can set when creating or updating a command
  • App-level permission configurations (typically set by admins) now act as the "base" configuration
  • Command-level permission configurations (typically set by admins) now act as an “override” of the app-level

2️⃣ A new APPLICATION_COMMAND_PERMISSIONS_V2 guild feature flag to indicate whether that guild is using the old permissions logic or the new (upcoming) logic.

And now....a flowchart to help understand and visualize how permissions configurations are used by Discord clients (it's huge, so you might want to click "Open Original" to see all of it)

opal oliveBOT

__IconRole Application Connection Metadata and Linked Roles IconRole __

We're really excited to announce that a new feature called ✨ Linked Roles ✨ is starting to roll out today and will continue to over the next few weeks! Linked Roles allow admins to assign roles automatically based on users' information in 3rd party services (like having a verified account, having certain stats, or having more than a certain number of followers).

Apps can plug-in to Linked Roles by configuring new role connection metadata. Read more in the resources below:

🔗 **Overview page: ** https://discord.com/build/linked-roles

📜 Documentation: https://discord.com/developers/docs/resources/application-role-connection-metadata

🏁 Getting started guide: https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles

✍️ Blog post: https://discord.com/blog/connected-accounts-functionality-boost-linked-roles

Along with this rollout, we're adding a new verification tier for apps that want to use Linked Roles in an official capacity. Note that this will be scaling up early next year, so stay tuned to details on how you can make your connections apps official.

magic plankBOT

Hey there, active developers! We’re excited to send out one of our first updates, and to be able to talk to you so directly. It’s like we’re hanging out with you right in your server. That’s awesome.

In the spirit of Snowsgiving, we want to make sure you have time in your busy life to spend time with people you care about, rather than worrying about sending commands to your app.

So, for the month of December, we will not be checking activity for existing badge holders.

active_badge All existing Active Developers will keep their badge
active_badge New Active Developers can continue to claim the badge

Starting on January 10, 2023, we will be checking activity for all existing badge holders.

Thank you for being an integral part of what makes Discord app ecosystem awesome. Enjoy Snowsgiving and the holidays, and be sure to join us next week on December 14 for the last DDevs event of the year!

opal oliveBOT

keyboardsmash Stricter Type Enforcement for Falsy Values keyboardsmash

Starting early next month (January 2023), falsy field values must match that field’s specified type. If your app is not passing correctly-typed falsy values for all API fields, you should update your app or you will begin to encounter new errors.

An exception to the new stricter type enforcements is boolean-typed fields, which will accept 0 in addition to false (though using false is still recommended in most cases).

Previous behavior
Though the behavior wasn’t documented, some fields previously allowed any type of falsy value and would resolved them all to null. For example, an empty string passed in a list-typed field would resolve to null.

Updating your app
If your app is passing any falsy values that do not correspond to that field’s type, update your code so that it matches. For example, if your app is passing an empty list for a string-typed field, update that code to instead pass an empty string.

reindeerchoco2 Reindeer fact: The back feet of reindeer make a clicking noise as they move caused by the friction of their tendons slipping over bone. This click clack lets reindeer stay near their herd even in harsh winter conditions. (bonus fact: reindeer sometimes make a cute yawn and wiggle their chins afterwards googleblueheart )

opal oliveBOT

🧵 Thread Member Details and Pagination Support 🧵

✍️ Change log: https://discord.com/developers/docs/change-log#thread-member-details-and-pagination

A new member field, which contains general user information about a thread member, was added to the thread member object. This field will only be present when the new with_member field is set to true when calling List Thread Members (GET /channels/<channel_id>/thread-members) or Get Thread Member (GET /channels/<channel_id>/thread-members/<user_id>).

In addition to exposing additional info about a thread member, setting with_member will make the results of List Thread Members paginated. You can paginate through the results using the after and limit fields. Starting in API v11, all results returned by List Thread Members will be paginated. Additional details are in the change log and documentation~

clownfish Clownfish fact: Clownfish (or anemonefish) live in colonies with a strict hierarchy, at the top of which is a female. If that female dies, the most dominant male in that colony will transition into female and assume the top of the hierarchy.

opal oliveBOT

Hi all! Update on stricter type enforcement for falsy values (previously announced in #697138785317814292 message): This change is beginning to roll out now. If you see any issues with input that you think is correctly typed, let us know in #697489244649816084. Thanks!

edit: This is now rolled out.

opal oliveBOT

gavel New GUILD_AUDIT_LOG_ENTRY_CREATE Gateway Event gavel

✍️ **Change Log: **https://discord.com/developers/docs/change-log#guild-audit-log-events

A new GUILD_AUDIT_LOG_ENTRY_CREATE event was added, which is sent when an audit log entry is created in a server.

GUILD_AUDIT_LOG_ENTRY_CREATE requires the VIEW_AUDIT_LOG permission and passing the GUILD_MODERATION (1 << 2) intent when connecting to the Gateway.

Bug_Bee_Happy Bee fact: When honey bees find a delectable food source, they communicate the location of it to other colony members by dancing (called a waggle dance). Those members then dance for others, and so on until the entire colony knows of the location.

opal oliveBOT
opal oliveBOT

Hey everyone, we're aware there are some errors with application commands endpoints due to a change we released, we're working on rolling it back ASAP.

Edit: The incident should be resolved now.

magic plankBOT

Hey developers!

If you’re reading this, we’re delighted that you picked up your Active Developer badge and subscribed to this news feed! (If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer).

We hope your 2023 is off to a great start - here is a recap of some upcoming events, announcements, reminders, and opportunities. Enjoy!

ddev Join our February DDevs event
Join us for our first developer event of the year on February 28! We'll share API updates and host an exclusive panel with Discord employees discussing their tech interview experiences. Plus - spoiler alert - meet our new Discord Developer Community Manager!

BadgeActiveDeveloper Claim your Active Developer Badge
We’re so happy to see so many of you claim your badges! As a reminder, the Active Developer Badge requires you own an app that has a command that was used in the past 30 days. If at any point your app no longer meets this criteria, the badge will be removed from your profile (but of course you can reapply when you meet the criteria again).
Read more about the active developer badge and its criteria here: https://support-dev.discord.com/hc/en-us/articles/10113997751447-Active-Developer-Badge

🆕 Recent API updates
🔗 Linked Roles was released last year to let admins dynamically created roles using 3rd-party information provided by installed apps. Get started using the tutorial: https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles

👥 Apps can now find more information about thread members in the member field in thread member objects.
👉 Change Log: https://discord.com/developers/docs/change-log#thread-member-details-and-pagination

👩‍⚖️ A new GUILD_AUDIT_LOG_ENTRY_CREATE event was added to the Gateway to let apps know when a new audit log entry is added in a guild.
👉 Change Log: https://discord.com/developers/docs/change-log#guild-audit-log-events

automod Updates to AutoMod include an increase in the number of allowed keyword rules per server and the max length for the keyword_filter and allow_list fields.
👉 Change Log: https://discord.com/developers/docs/change-log#increase-auto-moderation-keyword-limits

👀 Explore the App Directory
Looking for some fun things to do with your friends this month? We recently added in a new Cozy Night In category in App Directory! Check out our recs for apps that will add some cozy vibes to your server. In a server where you have ‘Manage Server’ permissions, head to: **Server Settings ** > App Directory

From there you'll see the Cozy Night In category on the homepage, where you can add these apps to your server!

On a related note, congratulations to everyone who enabled Discovery on their apps! (If you haven’t yet, you can see how to do so here: https://support-dev.discord.com/hc/en-us/articles/9506257727255-App-Directory-Intro)

- Discord Developer team

opal oliveBOT

IP Discovery Upcoming Change

We recently pushed out a change related to Voice Connections that broke apps sending 70-byte UDP packets to the voice server when using IP Discovery. While the documentation and deprecation were updated in December 2019, there wasn't communication around the the change starting to roll out so we've temporarily reverted the change to give developers more time to handle the breaking change.

⚠️ Starting <t:1678896000:D>, all apps with Voice Connections using IP Discovery must send 74-byte UDP packets. IP Discovery requests sending the deprecated 70-byte packet will no longer receive a response.

Some 3rd party libraries may be needed to be updated to support this change, so if your app uses Voice Connections and a 3rd party library, check with the maintainer(s) to see if it sends the updated packet and/or whether you need to update the library version you're using.

📰 Read the IP Discovery documentation for more information about the UDP packet to send: https://discord.com/developers/docs/topics/voice-connections#ip-discovery

opal oliveBOT

sparkle_blurple Update on March Verification Requests App_Broom

Hey everyone juneWave , here’s a quick announcement for those of you who hadn’t heard back after applying for bot verification or privileged intents during the month of March 2023.

juneShrug Beginning early last month, there was a bug in our system that may have resulted in tickets not being created after a bot verification form or privileged intent form was filled out. **See our previous message here for more details: **
#696891424041598978 message,

Poker_Exclamation Fortunately, we have since resolved this issue, and new applications for both intents and verification are processing without issue. We unfortunately are unable to recover applications that were lost as a result of this bug. If you applied for verification during March 2023 and you believe you’re impacted, please send in a ticket containing your bot’s ID so we can determine whether or not your ticket was created. You can create a ticket here: https://support-dev.discord.com/hc/en-us/requests/new

We apologize for any inconvenience this created and are aiming resolve this as quickly we possibly can. Thanks for your patience and understanding.asparklesasparkles

opal oliveBOT

dancing_bot Bot users added to all new apps dancing_bot

✍️ Change Log: https://discord.com/developers/docs/change-log#bot-users-added-to-all-new-apps

Starting today, bot users will be added to all newly-created apps. Existing apps will not be affected by this change.

If your app doesn't need or want a bot user added during installation, you can refrain from using the bot scope. Additional details and links to relevant documentation are in the change log entry.

opal oliveBOT

automod __AutoMod Badge for Apps __ automod

Since AutoMod launched last year, moderation apps have been integrating with its APIs to create custom moderation experiences for Discord mods and admins. The AutoMod APIs help simplify message scanning by letting developers create custom rules for servers, while improving their users' experience with built-in AutoMod features like moderating messages before they're sent.

And today....we're excited to let you know we've released an AutoMod badge to showcase AutoMod-powered apps to Discord users. The badge will appear on a bot's profile when it has created 100+ AutoMod rules.

📰 Check out the official blog post about integrating with AutoMod: https://discord.com/blog/supercharge-your-moderation-with-automod-in-your-apps

❓ Or the help center article for more specifics on the badge: https://support-dev.discord.com/hc/en-us/articles/13847462843543

opal oliveBOT

Hey DDevs! KermitSmile

Today we are launching 🚀 expanded markdown (lists, headers, and masked links) to 100% of all guilds and users.

You can read more about it here Support Article

Not just users but also Apps/Bots/Webhooks 🤖 can take advantage of this new functionality!

As always, everything we do is a work in progress. We are still open to feedback and bug info, and we welcome you to provide both. KermitDab

opal oliveBOT

Small update on expanded markdown Kermit
We had to roll it back yesterday to patch some issues. We will most likely be bringing it back sometime next week. soon KermitTPose

Have a good, markdown-less weekend! KermitCloutGlasses

Animal fact of the week: a group of rhino is called a "crash" 🦏

opal oliveBOT

wumptoast Impact of Unique Usernames on Apps and Bots wumptoast1

Today we announced that Discord’s username system is changing. Discriminators are being removed and new, unique usernames (@name) and display names are being introduced. These changes will make it easier for users to connect with their friends and give more control over identity on Discord. You can visit https://discord.com/blog/usernames to hear from one of our founders about why usernames are changing, or read more details about how changes to the username system affects non-bot users at https://dis.gd/usernames

Poker_ExclamationMore details for developers (including an FAQ) are in the Help Center article:
https://dis.gd/app-usernames

Below is an overview of how apps and bots will be affected by the username change. More details for developers, including exact dates, will be communicated soon.

Changes to bot users on Discord
1️⃣ We recently made a change to add bot users to all newly-created apps. During the username migration, all apps without a bot user created before April 14 will have a bot user automatically added. If your app doesn’t require a bot user, you can skip adding the bot scope during installation.

2️⃣ After migration, developers will no longer be able to directly set bot usernames or bot icons. The bot user’s icon will always be the same as the App Icon. Bot usernames will be determined differently for verified and unverified apps:

  • Verified apps: Bot usernames will be determined by the Application Name. When an unverified app goes through the verification process, a username created from the Application Name will be given to the bot user.
  • Unverified apps: Bot usernames will be randomized for new and existing unverified apps. This does not affect the Application Name.

3️⃣ Application Names (the Name field on the General Overview page within the app’s settings) will be used as the Display Name for an app’s bot user. This means developers cannot manually update the Display Name for a bot user without updating the Application Name. Server nicknames are unaffected by this change.

4️⃣ The Discord client will be updated to only display Application Names in most surfaces, including the bot profile and in the search interface. The client changes will allow all Discord apps, verified and unverified, to use their Application Name as the identity for their app (and bot) across Discord.

Migration of verified app usernames
Most verified apps with Application Names which can be automatically migrated to the new username system have been reserved. No user will be able to claim the reserved username, and during migration the reserved name will be automatically given to the app's bot user.

Verified apps that cannot be automatically migrated or wish to change their Application Name for another reason will be able to make a one-time change at the time of migration.

Identifying migrated users
To keep clients backwards-compatible, users that are migrated to the new username system will have a single zero (#0) discriminator. This will not appear in the client, but will be in payloads your app receives. After the migration to the new username system is complete, the 0 discriminator will be removed.

greencheck Preparing your app for username changes

  • Remove any logic that depends on discriminators for Discord users. Apps should continue using user IDs to uniquely identify Discord users in their code. Make sure to account for the temporary #0 discriminator that updated users will have when updating your code.
  • Be prepared for your username change. That includes in code, or anywhere else you may reference your bot username.
  • If your app is verified, stay tuned for details about migration dates and how to perform a one-time update for your Application Name/bot username.
opal oliveBOT

🔠 Updated max character limit in app names 🔡

Application names are now limited to 32 characters when you're creating a new app or updating the name of an existing app. This change does not currently affect apps with existing names longer than 32 characters.

pencilwumpus This change is related to upcoming username changes for apps and bots, which you can read more about at https://dis.gd/app-usernames

opal oliveBOT

Follow-up on Unique Usernames for Apps

Hi everyone,

We recently announced upcoming changes to Discord’s username system. While that new system continues to roll out to users, we have updated information to share with you all about the bot side of this transition: application names and bot usernames will remain on the discriminator system. Below are details on how this may simplify things for you and what you still need to know about what is changing.

What does this mean?

  • Bot usernames and avatars can still be changed independently of app names and icons, using the current system. This may change in the future.
  • Bot usernames will not change immediately, and will remain in the Username#1234 format with a discriminator.
  • App names and bot usernames will not be required to be unique, even for verified apps.
  • Unverified apps will not be assigned randomly generated bot usernames.

Changes that are staying, and looking into the future:

  • Bot users will continue to be automatically added to newly-created applications.
  • Application names will continue to be limited to 32 characters.
  • We will be maintaining a blocklist of some application names that are high-risk for impersonation and abuse.
  • In the future, we still plan to use application names as the identity for your app and bot across Discord.

The team is focused on ensuring that the username transition is smooth for all users and will continue to monitor how applications / bots interact with the new system.

For more information, refer to the help center article: https://dis.gd/app-usernames

magic plankBOT

Hi developers! 👋

Welcome to another edition of our Developer News! Here you'll find recent updates, reminders, and upcoming events. Enjoy!

🌟 Recent Updates

AutoMod API

Expanded Markdown Support

App Directory Product Page Best Practices

Activities for All

  • Activities are now available to all! That’s right, now anyone can play any Activity any time they want! A big thank you to everyone who played Activities during our birthday celebration. You all loved Activities so much, we made them open to everyone from now on.

Usernames

We recently announced upcoming changes to Discord’s username system. While that new system continues to roll out to users, here are some key reminders about the bot side of this transition, which you can read more about here: https://dis.gd/app-usernames.

  • Bot usernames will not change immediately, and will remain in the Username#1234 format with a discriminator.
  • Bot users will continue to be automatically added to newly-created applications.
  • Application names will continue to be limited to 32 characters.

🗓️ DDevs Events

Discord Birthday

  • We hosted our first ever Discord Developers (DDevs) Activities Tournament this month as part of Discord’s 8th Birthday celebration! 32 participants were randomly selected by Tourney Bot and played Bobble League and Putt Party! The top four represented developers in the DDevs vs. Town Hall Tournament Finals. Congrats to Town Hall for winning the DDevs vs. Town Hall Birthday Activities Tournament! We'll get them next time, DDevs!
  • We also appreciated all the Discord love you shared in the birthday card channel. Here’s to another year of developing on Discord!

Developer Spotlight

  • Join our next DDevs event on Friday, June 23rd where you'll meet the people behind Cappuccino, CHANI, and Memrise! They were recently featured on the Discord blog for their apps that spark activity: https://dis.gd/fun-with-friends. Join to learn about their apps, ask questions, and learn tips and tricks for developing on Discord. A recording of the event will later be shared in the DDevs server in case you can't make it.

➡️ Don't miss out on future events! Join our DDevs server today: https://discord.com/invite/discord-developers.

We can't wait to see what you build next on Discord!
- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

toxic mason

shut up

opal oliveBOT

Hey DDevs! KermitSmile (again)

  • Today we are re-rolling out 🚀 masked links (as part of the new markdown) to 5% of all guilds, with the intention it will be out to 100% in the coming weeks.

  • You can read more about it here Support Article

  • We are aware of the security and abuse vectors relating to this feature, and are keeping a close eye on reports. Please report to CX/Support (https://support.discord.com/hc/en-us) if you see any issues. KermitCursed4

opal oliveBOT

⚙️ OpenAPI Spec Public Preview 👓

Today, we’re introducing an OpenAPI 3.1 spec in public preview to make it easier and more reliable to develop with the HTTP API. While our current developer documentation requires manual reviews and updates, the OpenAPI spec is generated from the source code which means it better reflects the nooks, crannies, and nuances of the Discord API.

👀 You can find details about the spec in the discord-api-spec repository on GitHub. You can also explore our Postman collection (which was generated using the spec) to easily discover and test HTTP endpoints.

What is an OpenAPI specification?

From the OpenAPI Specification website: “The OpenAPI Specification defines a standard, language-agnostic interface to HTTP APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection”.

Why is it in public preview?

While we’re excited to share the spec with the community, we’re still making improvements and refining some technical details in the spec. During the public preview, there may be bugs and unannounced breaking changes.

If you see something that looks incorrect or can be improved, open an issue on GitHub.

opal oliveBOT

online Setting Activity State for Bot Users

The state field in activity objects can now be set when you're updating presence for a bot user.

When the activity's type is Custom (4), the value of state will become the custom status text for the bot user. For other activity types, it will be displayed as additional data under the activity's name.

✍️ Read the Change Log

opal oliveBOT

🌐 Embed Debugger 🧑‍💻

We've released a new Embed Debugger tool that shows you how a URL's metadata will be parsed and rendered as a link embed within the Discord client. Use it to preview your site's embed, or debug why your site's link embed isn't working as expected.

opal oliveBOT

goteam Team Member Roles

You can now select roles other than admin when inviting users or configuring members of a team. There are four role types (owner, admin, developer, or read-only) that a team member can now be assigned based on what information and actions they need access to.

✍️ Read details in the Change Log

magic plankBOT

Hi developers! 👋

Welcome to the September edition of our Developer News! Here you’ll find recent updates, reminders, and other fun dev items!

🪄 API Updates

OpenAPI Spec

We recently launched our OpenAPI 3.1 spec in public preview to make it easier and more reliable to develop with the HTTP API. The OpenAPI specification is a standard to make it easy to define APIs in a way that both humans and machines can understand. Spectate the details in the new discord-api-spec repository.

Postman Collection

Postman is a platform that makes it easy to test and prototype with APIs, and we’ve recently updated the Discord Postman collection using our brand new OpenAPI spec. Explore the Postman collection to explore and try out Discord’s HTTP API endpoints.

Embed Debugger

We also released a new Embed Debugger tool that shows you how a URL's metadata will be parsed and rendered as a link embed within the Discord client. Use it to preview your site's embed or debug why your site's link embed isn't working as expected.

🌟 Product Updates

Masked Links

Tired of the world’s longest link clogging the chat when you could just say “click here”? Well fear not! Masked links are here. See what we did there? 😏

App Directory for Web

Picture your verified app and its product page just a click away on a webpage with no need for users to log in to Discord. Introducing App Directory on the web! All apps in the App Directory now have a publicly viewable link to make it easier for others to find and share your app. Visit https://discord.com/application-directory in your browser to see it live, and don’t forget to update your socials with your now web-friendly product page link!

Not verified yet? No worries! Our best practices guide will help you craft your perfect App profile page when you are ready.

💬 DDevs Community News

Server Refresh

Have you visited our Discord Developers (DDevs) server lately? It's looking fresh with new customizable roles, updated channels for connecting with other devs, and more! Be sure to visit and opt in to your preferred roles before our next server event.

We can't wait to see what you build next on Discord!
- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

SH_point Default Values for Auto-populated Select Menus

A new default_values field was added for user (5), role (6), mentionable (7), and channel (8) select menu components. default_values is a list of default value objects, which includes an id of the user, role, or channel and a corresponding type.

ℹ️ The UI updates to support default values in auto-populated select menus are not supported in older client versions, so if you're running into issues try updating your client!

✍️ Read details in the Change Log

opal oliveBOT

💸 Premium App Subscriptions Available in the US

Starting today, eligible US-based developers can monetize their verified apps with App Subscriptions.

App Subscriptions let you to charge your users for premium functionality with a recurring, monthly subscription.

To support App Subscriptions, apps now have access to:

  • Manage subscription SKUs in the Developer Portal
  • View monetization analytics in the Developer Portal
  • Team owners can setup and manage payouts in Developer Portal
  • New endpoints for working with SKUs and Entitlements
  • New PREMIUM_REQUIRED (10) interaction response type is available to prompt users to upgrade
  • New entitlements field, which is an array of entitlement objects, available in interaction data payloads when receiving and responding to interactions

To learn more about eligibility details and how to enable monetization for your app, check out the Monetization Overview.

✍️ Change Log
For a full list of features and API changes, read more details in the Change Log.

📣 Feedback & Bug Reports
For feedback and bug reports on monetization features, please submit issues on GitHub.

magic plankBOT

Hi developers! 👋

Welcome to a special late September edition of our Developer News! We have a lot of fun announcements for you today. 😄

💸 Premium App Subscriptions Launch in the US

It's been an incredible journey since we announced our alpha testing a year ago. As we continue this voyage, we're thrilled to announce another significant milestone for verified Apps: Premium App Subscriptions is launching in the US today!

Premium App Subscriptions offer an unmatched opportunity to earn directly from your users on Discord. Here's why it's a game-changer:

  • Easy Setup to get you started quickly
  • Seamless Transactions offer smooth payments from start to finish
  • Smart SKU Management to help you stay on top of your offerings
  • Insightful Analytics that let you dive deep into insights and metrics
  • Multiple Payment Options provide a wide range of choices for your users
  • Frictionless User Experience, allowing for an enjoyable journey for everyone involved
    All of this is now available on a platform you know and love!

Ready to redefine the way we engage and transact on Discord? With Premium Apps, it's not just about providing value; it's about earning from the value you provide. Learn more here.

📣 App Pitches Submissions Open

Last week, we announced App Pitches. It’s simple: tell us something incredible you want to build on Discord. Have an idea for an app that supports your local organizations? What about a fun game that everyone will love? Or an app that fills a very specific niche within your hobbies and interests? Tell us all about it and you might receive funding to hit the ground running at full speed.

Submissions open today! Pitch your idea and learn more here.

💬 DDevs Community News

Platform Updates Event

We recently hosted a Platform Updates event in our Discord Developers server. Join the community today to watch the recording and join us live for future DDevs events!

We can't wait to see what you build next on Discord!
- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

🔐 New Authenticated Attachment URL Parameters

To improve security of Discord's CDN, attachment CDN URLs have 3 new URL parameters: ex, is, and hm. Once authentication enforcement begins later this year, links with a given signature (hm) will remain valid until the expiration timestamp (ex).

⚠️ Attachment CDN URLs have already started following the new pattern, so your app will begin to encounter the new parameters in attachment CDN links, but authentication is not being enforced until later this year. More details about when authentication will start to be enforced will be shared in the upcoming weeks.

Details about authentication parameters

  • ex: timestamp indicating when the attachment URL will expire, after which point you'd need to retrieve another URL (by doing something like retrieving a message via HTTP). More details to come about the length of time this will be by default.
  • is: timestamp indicating when the URL was issued
  • hm: unique signature that remains valid until ex.

Handling authentication parameters

When links expire

To access the attachment CDN link after the link expires, your app will need to fetch a new CDN URL. The API will automatically return valid, non-expired URLs when you access resources that contain an attachment CDN URL, like when retrieving a message.

The client behavior is not changing and will refresh posted URLs to be automatically valid, so your app doesn't need to worry about refreshing URLs itself if the link was valid at the time of posting.

In messages your app sends

The behavior in the client will remain the same. Links posted in the client will be automatically updated if the link was valid at the time of posting, so you don't need to update your message's content when it includes an attachment CDN link (in cases like apps reposting images using CDN links).

If your app needs access to the content

If your app requires access the content from an attachment CDN link, you should fetch the contents from the valid CDN link and upload them to a secure, independent host that your app maintains access to.

opal oliveBOT

Global Rate Limit added to discordapp.com/*

ℹ️ We have added a global rate limit for API requests made to discordapp.com/* and may further restrict requests in the future.

To limit impact on your app, please make sure you are making calls to discord.com/*.

This does not apply for cdn.discordapp.com.

🔍 Refer to the API Reference for more info on which url(s) to use when building on the REST API

magic plankBOT

Hi developers! 👋

Welcome to the October edition of our Developer News! 🫶

💸 Premium App Subscriptions Launch in the UK and EU

We are thrilled to announce that Premium App Subscriptions are now available in the UK and EU regions! After witnessing the success and positive feedback in the US, we're eager to bring this feature to our dedicated developers across the pond.

🔹 Why Premium App Subscriptions?

Empower your apps with seamless monetization, insightful analytics, and a frictionless user experience. This is your opportunity to harness a new avenue for growth and engagement within the Discord ecosystem.

🌐 Global Expansion

This is just another step in our mission to support developers globally. We are committed to continuously refining and expanding our offerings based on your feedback and needs.

💡 Stay Connected

Join the conversation in our Discord Developers (DDevs) server, share your feedback, and engage with fellow developers on our platform. Your insights drive our innovation!

🚀 Take Action Now!

If you are a verified app developer in the US, UK, or EU, log in to the Developer Portal and start monetizing today. Learn more here.

📣 App Pitches Celebration

App Pitches submissions are now closed! Thank you to everyone who submitted a pitch. We received hundreds of pitches and are currently ensuring that a real person reads every. single. one! Check back here on November 7 when we announce our winners, and keep the party going in DDevs as you hopefully start to bring your App Pitch idea to life! Regardless of the outcome, you are all winners in our hearts. ❤️

🎃 Happy Halloween from App Directory!

Boo! 👻 We're excited to share that our Halloween Collection is officially up in the App Directory! It features 4 amazing apps that you should definitely try out to get in the scary storytelling or witchy mood.
Our spotlight feature is HallowsTreat, a truly festive trick-or-treating app that lets users drop candy or even engage in boss battles. There's also plenty of Fright & Fortunes for you to engage with in the frightful and festive CROM, Cabot, and Chucky apps. You can even see the apps in action in our DDevs server for a limited time! Happy spooky season!

💬 DDevs Community News

App Directory Peer Review Session

Last week we hosted our first App Directory Peer Review Session in the DDevs server! Four App Directory product pages received live feedback from Discord staff and community members. Interested in receiving feedback for your App Directory product page? Visit DDevs and post to our #1159976451525836900 channel!

Upcoming Events

We have many more developer events around the corner. Join DDevs today to join in on the fun! Can you decipher our next event? Hint: ||LLmda Jcqtlibpwv||

We can't wait to see what you build next on Discord!
- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

PETTHEBOT Fix Interaction Response Permissions

The behavior for message edit interaction response actions like updating interaction responses and sending follow-up messages have been updated to follow a bot user's permissions.

Previously, some message edit interaction response actions would use the default permissions rather than a bot user's permissions.

✍️ Read the Change Log

partydinosaur Dino fact: Oviraptor was a Theropod whose name means "egg thief" because its fossils were found around egg nests. But...we eventually learned that the nests belonged to the Oviraptors th_wumpusegg

magic plankBOT

Hi developers! 👋

It's time for the November edition of Developer News! 🎉

💻 API Updates

🔗 Authenticated Attachment URL Parameters

Apps will encounter three new parameters in attachment CDN links used for link refreshing: ex, is, and hm. Starting no earlier than December 15, these parameters will be used to indicate when that CDN link is expired, after which your app would need to fetch a new link to access its content. Links within the client will be automatically refreshed, so most impact will be with expired attachment CDN links and links shared outside of the client. For details on the change, read the original and follow-up announcements in the Discord Developers server.

🤝 Interaction Response Permissions

A bug was fixed with bot user permissions, so now the behavior for interaction response edit actions will follow a bot user's permissions rather than the default @everyone permission. Read more in the changelog.

📣 App Pitches Winners

Discord Devs, you rocked it! We received hundreds of entries, which gave our set of judges plenty to think about as they reviewed every one of them. Here are the finalists for our 2023 App Pitches program for each category:

  • Apps for Artists: Art Arena
  • IRL Impact: Coral Reef Cam
  • Learning: Teranga
  • Mini-Games: Towntopia
  • Wildcard: PaperAI
  • Honorable Mention: Cohezion.ai
    ➡️ Read more about each pitch on our blog.

Thank you to everyone who helped make App Pitches 2023 a success. Even if your pitch didn’t win, know that you’re all winners in our hearts and we hope that you still go out and build your pitched apps! 🫶

🏆 Competitive Spirit Apps

Have you seen the new featured Competitive Spirit Apps in App Directory yet? 👀 Add TREBEL, Tourney Bot, Guess the Rank, and FN Leaderboard to your server or try them out for a limited time in the Discord Developers server!

💬 DDevs Community News

⚒️ DDevs Buildathon

Did you hear? We hosted our first ever DDevs Buildathon this month! We were so impressed by the 80 builds you created in just one week. Join us in the Discord Developers server and check out the #1168620408757567508 channel to see them!

🗓️ Upcoming Events

We have a few more events remaining before the end of the year, including our upcoming Developer Spotlight: Joyn Stage Event on Friday the 17th! Join us to meet Joyn, the people behind Tourney Bot, learn about their app, ask questions, and learn best practices for developing on Discord.

We can't wait to see what you build next on Discord!
- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

💸 More Ways to Test Premium App Subscriptions

We've made it easier for developers to test their app subscriptions without having to use real payment methods.

  • Team members will automatically receive a 100% discount on a subscription for your app, allowing you to test the end-to-end payment flow
  • Developers can create and delete test entitlements to toggle access to an application's premium features

Read more about Testing your App Subscriptions Implementation for details.

✍️ Read the Change Log

opal oliveBOT

📝 Developer Survey

📣 Calling all developers! Ready to make a difference?

We're thrilled to announce that our annual developer survey is live now to gather your valuable feedback and insights. Your opinions matter greatly to us, and we're committed to making our developer offerings even better with your input. sparkle_blurple

➡️ Log in to your developer portal and find the survey link in the navigation bar. You may also see a special winter surprise! ❄️

It only takes a few minutes to make a big impact! Thanks in advance for completing the survey. 💜

opal oliveBOT

🔐 Experimenting with End-to-End Encryption for Voice & Video

As outlined in a blog post earlier this year, we are experimenting with end-to-end encryption (e2ee) for voice and video channels.

During this testing phase, there is nothing developers need to do to support end-to-end encryption. Voice channels will automatically downgrade to currently documented, non-e2ee protocols when a bot user joins the channel. This is transparent to the connecting client but may result in a slight delay between establishing a connection and receiving audio.

We will be continuing our testing and will share updates along with developer documentation and sample code once it is available.

✍️ Read the Change Log

opal oliveBOT

🔗 Updates to CDN-hosted images on App Directory profiles

Due to upcoming CDN changes, we are making updates to images within App Directory profiles. Going forward, all new and updated URLs for images in App Directory profiles must be hosted outside of Discord’s CDN. This includes images in the Images tab (under Media in your app's settings) and within expanded descriptions.

If you have images in the Images tab

Previously, using Discord attachment CDN URLs was allowed in the Images tab. To make migration easier, existing Discord CDN-hosted images in the Images tab have been migrated off of the CDN, so no action is needed on your part. Going forward, any Discord attachment CDN URLs will be rejected.

If you have images in the Expanded Description

Previously, using Discord attachment CDN URLs was allowed in the expanded description. Going forward, they will not be allowed. To continue supporting images in expanded descriptions, non-CDN URLs are supported going forward.
⚠️ By the end of this year, Discord attachment CDN-hosted images in your expanded description should be migrated elsewhere, and their URLs should be updated in your app's settings accordingly.

magic plankBOT

Hi developers! 👋

It's time for the last 2023 edition of Developer News! 🎉 🪩

💻 API Updates

💸 More Ways to Test Premium App Subscriptions

Have you heard the news? We've made it easier for you to test your app subscriptions without having to use real payment methods! Team members will automatically receive a 100% discount on a subscription for your app, allowing you to test the end-to-end payment flow, and developers can create and delete test entitlements to toggle access to an application's premium features. Learn more here.

🔐Experimenting with End-End Encryption for Voice

As outlined in a blog post earlier this year, we are experimenting with end-to-end encryption (e2ee) for voice and video channels. During this testing phase, there is nothing developers need to do to support end-to-end encryption. Voice channels will automatically downgrade to currently documented, non-e2ee protocols when a bot user joins the channel. This is transparent to the connecting client but may result in a slight delay between establishing a connection and receiving audio. We will share updates as they become available. Find more information in the Change Log.

💬 DDevs Community News

2024 is almost here, and we’re celebrating in our Discord Developers (DDevs) server with community events!

🗓️ Platform Updates: 2023 Recap Event

Join us on <t:1702670400:F> for our last Platform Updates event of the year! During this special Platform Updates: 2023 Recap event, we’ll review platform highlights from the year PLUS preview exciting 2024 content. 👀 We’ll also host a Q&A with DevRel and other awesome Discord staff. You don’t want to miss this one! bwump_eyes

🚀 Activities Game Night

To celebrate the end of the year, we’re also hosting one last Activities Game Night of 2023! Come play Activities with Discord staff on <t:1703181600:F> and <t:1703286000:F> in DDevs. 🎮

📝 Developer Survey

Thank you to those who have already submitted their feedback via the annual developer survey! If you haven’t yet, log in to your developer portal and find the survey link in the navigation bar. It only takes a few minutes to make a big impact!

🫶 Holiday Break

Discord will be on a company-wide break from December 25 - January 1. Please expect delays with developer support tickets during this time. The DDevs server will also be more restricted than usual to ensure mods have time to enjoy the holidays. More information will be shared in DDevs in the coming weeks. We appreciate your patience and understanding, and hope you have a wonderful holiday season! ✨

- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

📝 Developer Survey Closes Friday

Did you see our announcement earlier this month? #697138785317814292 message 👀
Our annual developer survey is currently live to gather your feedback and insights. It will close this Friday.

➡️ To complete the survey, log in to your developer portal and find the link in the navigation bar.

Thank you! 🫶

opal oliveBOT

Stricter Limit on Number of Embed Fields

Embed objects are now strictly limited to 25 embed fields. If you pass more than 25 fields within an embed's fields property, you'll get an error.

Previously, only the first 25 embed fields would be displayed within the embed, but no error was returned.

zwinterwumpus_hype Snowflake fact: The largest flake ever recorded was 15 inches across and 8 inches thick, spotted back in 1887 in Montana (but there isn't much corroborated evidence for it, so take this fun fact with a pinch of salt).

opal oliveBOT
opal oliveBOT

Interactions sent with Transfer-Encoding: chunked

From <t:1705097820> to <t:1705599000>, we erroneously delivered interactions with chunked encoding. This has now been resolved.

magic plankBOT

Hi developers! 👋

Welcome to 2024 and our first Developer News of the year! We're so excited for this year and hope you are, too. 🎉 🪩

💻 API Previews

In case you missed it, we hosted an end-of-the-year Platform Recap in in the Discord Developers (DDevs) server in December. We reviewed 2023 updates, previewed 2024 announcements, and hosted a Q&A with various Discord staff. We have lots of things planned for this year, so check out the recording!

📣 Sentry in App Directory

Have you seen the latest updates on the App Directory homepage? Check out our Developer’s Toolkit collection, featuring the app: Sentry! Sentry is a software monitoring tool that helps developers identify and fix code-related issues. From error tracking to performance monitoring, Sentry makes it easy to diagnose issues and learn continuously about your application code health. Add Sentry to your server so you can triage, resolve, and archive Sentry issues directly from Discord. ship_it

💬 DDevs Community News

Thank you for your patience during the Discord-wide holiday break. Our support staff are hard at work in responding to your tickets, and the DDevs server is no longer in “Holiday Break” mode. Jump on in and chat with your favorite dev community!

🗓️ 2024 Events

Looking for fun dev events? Join us in DDevs this <t:1706302800:F> for an App Directory Peer Review Session! Discord staff will review App Directory best practices and guide peer reviews for a few product pages from the community.

We have many more events and surprises planned for 2024, so stay tuned. Here's to another year of building on Discord!

- Your Discord Developer team 💜

If you’d like to change which channel should receive our Developer News, or opt-out at any time, you can do so in the Developer Portal: https://discord.com/developers/active-developer.

opal oliveBOT

🔗 Authenticated Attachment URL Parameters Update

Hey everyone blobwavereverse I'm back (once again), here with some minor updates and clarifications about the authenticated attachment URL parameter change we posted about last year (you can read more in the original and follow-up posts). This post includes some important information and dates, as well as answers some questions we've repeatedly received from developers.

When is the change going out?

We refined the timeline for the gradual rollout of the URL parameter change:

1️⃣ On <t:1706810400:d>, signature enforcement will begin to be applied for any new attachment uploads to Discord.

2️⃣ On <t:1708624800:d>, we're planning to apply signature enforcement to previously uploaded attachments.

Update to App Directory CDN Links

Previously, we posted an update that said net-new attachment links in the Images tab and all attachment links in the Expanded Description would no longer be allowed. However, based on your feedback, we've rolled back this change to allow more flexibility for images in the App Directory.

Since the change is rolled back, you can use Discord attachment links in your app's Images tab and Expanded Description going forward, and they will be automatically re-signed like other attachment links in the client. Sorry for the confusion, but we believe the end result is a net-positive for developers and Directory pages.

FAQ

What is the expiration window for attachment links?
Initially, URLs will expire after 14 days, and new ones will be issued every 7 days. We've chosen a longer expiration time to simplify the rollout. However, this may be reduced post-launch so you should use continue using the ex URL parameter mentioned in the original post to determine when a specific link is expected to expire.

Are these dates final?
We aim to stick to the above dates, but we'll be closely monitoring the impact on users and developers to ensure a smooth transition. If needed, we might modify the rollout plan, but we would communicate any changes here.

How should I handle this change in my app?
Please refer to the original post and follow-up post for more information on handling the change for your app.

opal oliveBOT

Update to Max Number of Guild Integrations

Guilds can no longer add more than 50 integrations. An error will appear or be returned if you try to add more than the max number of integrations. Guilds that currently have more than 50 integrations are not affected by this change at this time.

To see all integrations in a guild, you can view the Integrations tab in Server Settings or use the Get Guild Integrations endpoint.

Edit: To clarify, webhooks of any kind are not considered as integrations.

opal oliveBOT

🔗 Masked Link Support in Expanded Description

Keep your App Directory page sleek with new masked link support. The Expanded Description field on profile pages now support masked links agoogletada

opal oliveBOT

bots can now have animated avatars nitro

excited to see all the creative and genuinely cool avatars y'all come up with for your bots. please don't do anything too cursed. good luck, have fun!

technical notes: just upload an animated avatar through PATCH /users/@me like you would a regular avatar. same constraints apply to bots here as they do user accounts w/ nitro.

magic plankBOT

Happy February, developers! 👋

It's time for another edition of our Developer News! 📰

💻 Platform Updates

🤖 Animated Avatars for Bot Users

Bot users can now have animated avatars! Animated avatars for your bot user can be uploaded by using the avatar field in the Modify Current User endpoint. Currently, uploading animated avatars is for bot users is only supported using the API—it is not currently supported through the app’s settings page.

🔗 Masked Links in App Directory Profile Expanded Descriptions

Masked links are now supported in the Expanded Description for App Directory profiles! 🎉 Apps eligible for discovery can update their Expanded Description through the App Directory tab in their app’s settings.

ddevs DDevs Community News

✏️ Level Up your Builds with Figma!

Ready to level up your apps? Join us on <t:1708722000:F> for a very special Stage Event with Figma! Figma is the industry-leading UX/UI tool used by people who build products. Join this workshop to get a crash-course in Figma’s tools, capabilities, and how you can partner with designers to translate designs into code, faster. We’ll also host a Q&A, so come with questions! Join our Discord Developers (DDevs) server and RSVP today!

💬 Code && Chat Events

Looking for other developer events? We host a Code && Chat in DDevs a few times a month. Hang out with Discord staff while working on projects and listening to our Discord lofi mix. 🎵 Our next Code && Chat is <t:1709319600:F>. Hope to see you there!

We can't wait to see what you build next on Discord!

- Your Discord Developer team 💜

Server admins, if you’d like to change which channel should receive our Developer News or opt-out at any time, you can do so in the Developer Portal or by editing your announcement channel's integrations settings, depending on how you subscribed.

opal oliveBOT

blob_rainbow_trash User Interaction Response Deletion

EDIT: due to feedback, this change is being temporarily rolled back.

On desktop and web, Discord users can now delete responses to interactions they initiated.

This change isn't available on mobile just yet, but will be included in the next release.

opal oliveBOT
opal oliveBOT

🤖 Bot Banners

Hey everyone! 👋

Today we’re releasing bot banners! You’re now able to add a banner image (static or gif!) to your bot. You can access editing your banner from the bot tab in the developer portal or the API. Note that animated banners can only be updated through the API at this time. This will appear in your bot profile, mobile, and other new places coming soon! Enjoy! sparkle_blurple

magic plankBOT

Hi developers! 👋

It's time for the March edition of our Developer News! We have SO MUCH to share with you this month! 🤩 📰

💻 Platform Updates

🚀 Embedded App SDK

Ready to build games and experiences on Discord? Starting March 18, Discord Developers will be able to build new games and experiences that can be played directly on the platform with our new 🌟 Embedded App SDK 🌟 ! The Embedded App SDK (Software Development Kit) lets you build Activities like the ones you know and love today. If you want to see examples of what you can build, you already can: hop into a Voice Channel and use the Rocket button to try out today’s available Activities with your friends! We’re so excited about this update, and hope you are too! 💜 More info can be found here.

🔑 Upcoming Permissions Change for Pruning

Starting on March 15, the Get Guild Prune Count and Begin Guild Prune endpoints will require the MANAGE_GUILD permission alongside the existing KICK_MEMBERS permission. See the change log PR draft for details.

🤖 Bot Banner

We also just released bot banners! You’re now able to add a banner image (static or gif!) to your bot. You can access editing your banner from the bot tab in the developer portal or the API. Note that animated banners can only be updated through the API at this time. This will appear in your bot profile, mobile, and other new places coming soon! Enjoy!

🎮 Discord @ GDC

We’re going to GDC (Game Developers Conference) in San Francisco the week of March 18! 🎉

Going to be at GDC? Come visit our Discord booth where we're hosting stage talks, giving away dev merch, and even offering free coffee. ☕ Check out our schedule of cool events & exciting announcements about the Discord Developer platform here.

We’ll also be hosting virtual events, workshops, and an Activities Buildathon in our Discord Developers (DDevs) server! ddevs We're starting our digital festivities with a Virtual Kickoff Party on <t:1710784800:F>. Just a bit later, we'll host our quarterly Platform Updates event with DevRel on <t:1710788400:F>. We’ll also host a session about the new Embedded App SDK. We’ve got plenty of more shenanigans happening throughout the week, so join the fun in DDevs✨!

📣 App Pitches

Got an idea for an Activity? Pitch it to us during the upcoming Discord App Pitches 2024! Back by popular demand, and because we love seeing how creative our Discord Developer community can be, we’re bringing back Discord App Pitches, with a focus on building Activities this time around. Show off your prototypes using the Embedded App SDK to our judges and you could win up to $30,000 USD! 💸 Submissions open April 1. Visit our website to learn more.

SO MANY EXCITING THINGS! 🥳 We can't wait to see what you build next on Discord! (Maybe something with the new SDK? 👀)

- Your Discord Developer team 💜

Server admins, if you’d like to change which channel should receive our Developer News or opt-out at any time, you can do so in the Developer Portal or by editing your announcement channel's integrations settings, depending on how you subscribed.

opal oliveBOT

dancing_bot User-Installed Apps are in Preview

Apps can now be installed to users party_wumpus partytime happydance

making them easier to install, discover, and access across Discord. By default, user-installed apps can be used across all of a user's servers, within their (G)DMs, and in DMs with an app's bot user. Apps can be updated to support user installation on the new Installation page in your app's settings.

During the preview, interaction responses for the user installation context will be forced to be ephemeral in servers with over 25 members. There also may be changes to the new fields discussed in the change log before general availability.

✍️ Read all of the juicy technical details, limitations, and known issues in the change log, or follow the tutorial to get started.

opal oliveBOT

gdc_game Developers can now build Activities! gdc_game

Activities are interactive, multiplayer experiences that run in an iframe in Discord! Think games or social experiences running right inside of Discord. A few examples you might have already used are Putt Party, Sketch Heads, and Jamspace Whiteboard!

Developer Preview: Building Activities with the Embedded App SDK partytime

In order to make the communication between your experience and Discord possible, we've introduced the Embedded App SDK to assist in communicating between your app and the Discord client.

During the preview, Activities in development can only be launched in servers with fewer than 25 members. See the other public preview limitations here.

✍️ Read all about this developer preview in the change log, or follow the tutorial to get started.

opal oliveBOT

cyan_alertEmbedded App SDK Hotfix

broom In the spirit of "move fast and break things" we moved fast, and broke a thing. ship_it If you had installed @discord/embedded-app-sdk v1.0.1 please run

npm install @discord/embedded-app-sdk@latest

to update your SDK. More info here.

opal oliveBOT

📊 Native Polls Launch

Hi devs! 👋
You're hearing it here first: We're excited to announce that native polls are almost here! wumpus_party
The experiment has rolled out to a small percentage of users and the full launch is coming soon. We know this may impact how you want to think about your builds.

💻 API Info

This rollout includes new APIs for developers to build on top of it. More information can be found in the PR here and Help Center article here.

💬 Questions & Feedback

Drop your questions and feedback in the below thread. Please note that staff replies may be delayed because of the GDC event. Thank you in advance for understanding!

opal oliveBOT

📊 CSV Export for Premium App Analytics

Hi everyone! 👋

If you have an app with Monetization enabled, we have released the ability to export your SKU analytics to CSV. This will allow you to use your preferred data tools to report on your premium offerings.

You can find the export at the bottom of the Monetization → Analytics tab of your app to export datapoints such as sales_count, sales_amount, sales_currencies, cancellation_count, refund_amount, and refund_count, aggregated by each of your offerings for the selected month.

Happy building! sparkle_blurple

opal oliveBOT

ddevs User-Installed Apps Experiment in DDevs

Hi everyone! wumpus_wave User-Installed Apps are still in preview, meaning interaction responses are forced to be ephemeral in servers with over 25 members. Today we are lifting this limitation in our Discord Developers server for a limited experiment. ship_it (All followup messages will still currently be ephemeral.)

Try it out and let us know your feedback in the thread below. 👇 Please note that User-Installed Apps are still in preview and are subject to change.

Edit: The experiment is off for the weekend but will be back soon!

opal oliveBOT

Wumpus editor's note: Previous message is a sticker showing bot app.

opal oliveBOT

🔗 Authenticated Attachment URL Parameters Expiration

The expiration time for Attachment URLs will be decreasing from 14 days to 1 day. The rollout will happen gradually on a per-attachment basis, so your app will encounter some attachments with a 1-day expiration, and others with a 14-day expiration.

As noted in previous announcements, you should continue using the ex URL parameter to determine the expiration time for an attachment URL.

magic plankBOT

Hi devs! 👋

Welcome to the April edition of our Developer News! wumpus_party

gdc_game GDC Highlights

🌟 Embedded App SDK

We're still buzzing from GDC and the launch of the Embedded App SDK, now available in developer preview for devs to start building Activities on Discord! It was great to see so many of you there both IRL and online in our Discord Developers (DDevs) server. 🫶

🎥 GDC Event Recordings

💻 Platform Updates

🤩 User-Installed Apps in Preview

Apps can now be installed to user accounts, making them easier to install, discover, and access across Discord. By default, user-installed apps can be used across all of a user's servers, within their (G)DMs, and in DMs with an app's bot user. Apps can be updated to support user installation on the new Installation page in your app's settings.

During the preview, interaction responses for the user installation context will be forced to be ephemeral in servers with over 25 members. We are running a limited experiment in our DDevs community where this limitation is lifted. There also may be changes to the new fields discussed in the change log before general availability.

Read all the technical details, limitations, and known issues in the change log, or follow the tutorial to get started.

📊 CSV Export for Premium App Analytics

We heard you like numbers, so If you have an app with Monetization enabled you can now export your SKU analytics to CSV. This will allow you to use your preferred data tools to report on your premium offerings.

You can find the export at the bottom of the Monetization → Analytics tab of your app to export datapoints such as sales_count, sales_amount, sales_currencies, cancellation_count, refund_amount, and refund_count, aggregated by each of your offerings for the selected month.

ddevs DDevs Community News

Join us in DDevs on <t:1714071600:F> for an App Directory Peer Review Session! Discord staff will review App Directory best practices and guide peer reviews for a few product pages from the community. If you're interested in receiving peer feedback, create a post in our #app-directory-feedback channel in DDevs.

We also host a co-working event, Code && Chat, every few weeks where we work on projects and listen to lofi. 🎶 Join us for our next one on <t:1714766400:F>!

📣 Discord App Pitches

As a reminder, Discord App Pitches 2024 submissions are open until May 1. Show off your Activity prototypes using the Embedded App SDK to our judges and you could win up to $30,000 USD! 💸 Visit our website to learn more.

We can't wait to see what you build on Discord!

- Your Discord Developer team 💜

Server admins, if you’d like to change which channel should receive our Developer News or opt-out at any time, you can do so in the Developer Portal or by editing your announcement channel's integrations settings, depending on how you subscribed.

opal oliveBOT

💸 Store and One-Time Purchases Launch

Two new features are now available for Premium Apps: One-Time Purchases and Stores.

🪙 One-Time Purchases

  • Durable Items: A one-time purchase that is permanent and is not subject to either renewal or consumption, such as lifetime access to an app's premium features.
  • Consumable Items: A one-time, non-renewable purchase that provides access, such as a temporary power-up or boost in a game.
    Learn more about implementing One-Time Purchases.

🛒 A Store for Your App

To showcase your App Subscriptions and One-Time Purchase items, we have also introduced a Store for your Premium App. You can now create a unique Store page within the developer portal and add your published subscription SKUs or one-time purchase SKUs to your store view, allowing your users to buy these items from your App Directory or Bot User Profile.

✍️ Read more about the developer documentation updates in the change log or learn how to enable monetization for your app in our Monetization Overview.

opal oliveBOT

⏩ Forwarding Coming Soon

Forwarding is coming to Discord soon™️! wumpus_party

Forwarding will let you click on any message or piece of media and send it to another place in Discord. It'll show up clearly labeled as "forwarded" with only the content of the message included.

We'll launch to a small % of users within the next month and then ramp up from there over time.

💻 API Info

We're letting you know early as there will be a few changes for apps to "see" forwarded messages and we want you to be able to leverage forwarding for your apps. You can see the updates, subject to change, in the PR here.

opal oliveBOT

activedev Identity Verification Update

Hi devs! 👋
The identity of an owner of a verified app or development team will now need to be re-verified every three years. You may have seen a notice about this in the Developer Portal. Anyone who needs to re-verify their identity at this time will receive an email with more information this week. If it has not yet been three years since you last verified your identity, you will receive an email at a later date when you need to re-verify.

We're working on updating related Help Center articles with information and fixing a bug which may cause the button to disappear too quickly in the Developer Portal.

opal oliveBOT

ddevs User-installed apps updates

While user-installed apps are still in developer preview, we wanted to share some upcoming product and availability updates:

  • ship_it Currently, interaction responses are forced to be ephemeral in servers with over 25 members. Starting later this week, interaction responses will be forced to be ephemeral in servers with 200 or more members, and we will turn the experiment in DDevs back on.
  • 🛡️ User-installed apps will be integrated into AutoMod. Messages from user-installed apps will be blocked if they contain flagged words.
  • 🔧 Later, when user-installed apps reach general availability, their usage will be attached to a server permission. We'll share more information about that permission soon.

Edit: the experiment is back on in DDevs.

opal oliveBOT

✅ Verification is Faster and Easier

We’ve made app verification faster and easier for developers. If your app is eligible for verification, you’ll see a new App Verification page in your app's settings:

  • 📝 The long, hand-written form is now an easy-to-understand checklist
  • 🔍 You should confirm the name and ownership of your app at the bottom of the page before verifying since they can't be changed afterward without reaching out to developer support
  • checksout Some verification requirements have changed, like the app needing to belong to a team. Consult the checklist on the App Verification page for all requirements.
  • 🟡 If you have already submitted your app for verification and haven't heard back, you can use this new checklist instead
opal oliveBOT

ddevs Premium Apps: New Premium Button Style & Deep Linking URL Schemes

We’re releasing two new features today based on feedback we received from the Premium Apps Store and the release of One-Time Purchases:

  • A new button style for you to include in your commands
  • You can now deep link directly to products and your Store

✨New Premium Button Style
We've introduced a new button style, that accepts a SKU ID. You can now have commands with these new premium buttons to showcase your products in buttons, that when clicked, will automagically open the SKU Details page for that product.

** ✨New Deep Linking to Store and Individual SKUs**
With our new Application Directory URLs, you can copy the link from a SKU or your Store and post it in chat for others to easily access. These links also create rich embeds in chat that show a little bit more information about the linked object, allowing them to view details or continue with the purchase flow.

Beyond the release of these two new features, we’re also beginning work on multi-subscription support, which will allow you to offer multiple subscription tiers to your users.

✍️ Read more about these updates in the change log

opal oliveBOT

🚢User-installed Apps General Availability

User-installed apps are officially out of beta and are now generally available shipitparrot

  • 🔨 The API is stable, with one final set of breaking changes, which can be found in the change log
  • 🔐 Our new “Use External Apps” permission is out to 100% of servers. Learn more about how to moderate apps in your server
  • 🔍 💰 Eligible apps that support only user installation can now get Verified and get access to Discovery and Premium Apps

Though the beta has ended, that’s not the end of the roadmap. We’ve already started on our next features: user installation events and support for custom emojis.

✅ Verification is More Accessible

In part to support the general availability of user apps, today also brings another big update for Verification, Discovery, and Monetization.

  • 🔑 All eligible apps can now go through our new Verification process, regardless of size or server count. This includes both user-installed and server-installed apps
  • 🔍 💰 Discovery and Premium Apps are therefore now available to all eligible apps, after getting Verified
  • ✅ You can apply for Privileged Intents at any time. Before you get Verified, you must be approved for any intents you have enabled. You can still request additional intents after getting Verified.
  • 🦺 We recognize that making new verified apps with familiar branding seems much easier now. While we can't discuss the specifics of our enforcement and investigation criteria, we have seen no increase in user harm due to these changes, and will continue to monitor platform abuse and any potential issues from this change specifically.

Verification has been an important part of our app ecosystem for several years. It helps us identify and support apps that want to grow and scale. By becoming Verified, eligible apps can get access to Discovery and Premium Apps. These are important tools for early success, but have been unavailable to new and growing apps. We want to support more apps from the beginning and give every app the opportunity to succeed.

opal oliveBOT

🔤 Simplifying Privileged Intents for Small Verified Apps

As a follow up to our [recent verification changes](#697138785317814292 message), we’re rolling out changes to make Privileged Intents simpler when your app is small:

  • You are no longer required to get Discord’s approval to use Privileged Intents in a Verified app if the app is in less than 100 servers
  • You must get approved, or turn off unapproved intents, to grow your app past 100 servers — even if it’s already Verified
  • You may apply for approval for Privileged Intents once your app reaches 75 servers
  • Apps of any size can still go through our Verification process

Why?: Our recent Verification changes showed that many of you want the benefits of Verification, even when your app is very small. That’s great! But small apps are often still iterating, and requiring Discord approval for data access in these small apps was a large barrier to development.

This change makes developing small apps easier, without taking away access to Verification and its benefits.

opal oliveBOT

gdc_game Activities CSP Update

We will be making updates to our Content Security Policy (CSP) on <t:1724828400:d> for the Activities Domain (https://<application_id>.discordsays.com).

⚠️ This represents a breaking change for all Activities, and as such we have a migration plan in order.

Our CSP will be updated as follows:

  • All requests must be made through https://<application_id>.discordsays.com/.proxy/ , and requests to other paths on the discordsays.com domain will be blocked.
  • Requests to https://discord.com/api/ will be permitted, but other paths on the discord.com domain will be blocked.
  • Only allowed paths on cdn.discordapp.com and media.discordapp.net will be permitted such as /attachments/, /icons/, and /avatars/.
  • Nested child iframes must also mount paths prepended by /.proxy/

As of embedded-app-sdk v1.4.0 we have updated patchUrlMappings to automatically route requests through /.proxy/, so updating your SDK version and calling patchUrlMappings is a good first step. If you are unfamiliar with patchUrlMappings, please consult the documentation.

All Application IDs created after <t:1721217600:F> (applicationID greater than 1263102905548800000) will also automatically have the new CSP applied. Testing your production code on a new application created after this date is a suggested way for developers to test compliance with this new CSP.

For existing applications, we will be deploying this update to the CSP on <t:1724828400:d>.

✍️ Read more about this update in the change log

opal oliveBOT

😃 Application-Owned Emojis

You can now upload emojis for your apps in your app’s settings and use them as custom emojis anywhere on Discord 🎉

  • 🔢 Up to 2000 emojis per app
  • 👥 Support for user-installable apps — no guilds required!
  • 🛠️ Can be managed via the API with a bot token
  • 📚 Read the changelog

Read the docs, and 🔨 🫵 💬 💃 🎉

opal oliveBOT
opal oliveBOT

🔢 User-installable App Install Count

Approximate install counts have been added in the approximate_user_install_count field on the Application object for user-installable apps. You can also view this number in the Install Count section on the General Information page in your app's settings.

✍️ See the Change Log entry

opal oliveBOT

🎙️ Voice Connection Updates for Encryption Modes & Voice Gateway Versioning

On November 18, 2024, we will be officially deprecating some very old voice gateway versions and removing the concept of a default version for the voice gateway.

Voice Encryption Modes:

✍️ Check out the change log for voice encryption modes

Voice Gateway Version 8 & Deprecation of Older Versions:

  • Version 8: The latest voice gateway version supports Buffered Resume, which re-sends lost messages, enhancing voice connection stability.
  • ⚠️ Deprecation of Older Versions: We are deprecating voice gateway versions older than 4, which are over 7 years old.
  • ⚠️ Deprecation of Default Voice Gateway Version: Specifying a voice gateway version will be mandatory as the default option has been removed.
  • Action Required: Ensure your systems specify a voice gateway version and that you are using an available version. Versions older than 4 will also be discontinued on November 18th, 2024.

✍️ Check out the change log for voice gateway versions

Important Note on Voice State Updates:

  • When changing channels within the same guild, you may receive a VOICE_SERVER_UPDATE with the same endpoint as before. However, the token will change, and you cannot reuse the previous session. Please handle this appropriately in your implementations.
opal oliveBOT

⚙️ Full message object in Message Update events

Message Update Gateway events have been slightly updated to now always send the full message object.

Previously, there was inconsistent behavior. When your app received a Message Update event, you would sometimes only receive a partial payload—particularly with embeds in messages. These updates will now include the full message object.

opal oliveBOT

🚀 Launching Activities using Interactions

Hi DDevs! We have an exciting update to our Activities Developer Preview! Activities can now be launched via interactions! This means that you can now launch activities in response to things like commands and message components.

We’ve also created a new type of command: Entry Point commands. Entry Point commands represent the primary way to interact with apps that have Activities enabled. Apps are limited to one Entry Point command, which will be shown to users in the App Launcher with a dedicated button. And you can customize how your app's Entry Point command is handled using the handler field.

After you set up your app to launch activities through the Entry Point command and / or interactions, you will be able to test your Activity in text channels. Within a few weeks, it will become required for your app to have a primary entry point app command to continue launching the activity in voice channels.

Read more details about these releases in the Change Log entries:
✍️ Launching Activities in Response to Interactions
✍️ Entry Point commands

opal oliveBOT
opal oliveBOT

🪙 Premium Apps: Upcoming Entitlement Migration and New Subscription API

Upcoming Entitlement Migration

We are migrating our entitlement system to a new behavior where entitlements will not have an ends_at until they are explicitly cancelled.

⚠️ This represents a breaking change for all existing applications that have Premium App Subscription SKUs, and as such we have a migration plan in order.

Current Entitlement System

Currently, entitlements have an ends_at date that corresponds to the subscription interval. This date is updated at each billing cycle.

New Entitlement System

Post-migration, entitlements will no longer have an end date (ends_at will be null) until the user decides to cancel the subscription.

As of October 1, 2024, all existing entitlements that grant access to user-subscription and guild-subscription SKUs, will begin to transfer to the new system on their renewal date. This means we will have a month-long migration window to allow all of your entitlements to migrate to the new system upon renewal.

Please refer to the Entitlement Migration Guide to learn more about the change in ENTITLEMENT_CREATE and ENTITLEMENT_UPDATE events before the rollout date to avoid disruptions in service.

New Subscription API

With the new system, entitlements for subscription SKUs will no longer emit events at the start of a new subscription period. Instead, subscription lifecycle management can be handled through the new Subscription API.

New Monetization Docs

With the Entitlement and Subscription changes, we have also updated documentation for Premium Apps to

✍️ Read the full Change Log entry for more details

magic plankBOT

Hi devs! 👋

Welcome to the August edition of our Developer News! We've got some exciting updates to share with you this month! 🚀 📰

💻 Platform Updates

For more details on recent developer updates, including new AutoMod rules and message forwarding in the API, check out our developer change log.

🚀 User-installed Apps

Great news! User-installed apps are now generally available, bringing a set of API changes and improvements.

  • These apps can now post non-ephemeral replies in small servers and can be eligible for app discovery surfaces like the App Directory.
    We've also introduced a new Use External Apps permission, allowing modmins to control whether user-installed apps can post public replies in a server. Plus, you can now see an approximate user install count in the Application object and in your app's settings !

💎 Premium Apps Updates

We've rolled out several exciting features for Premium Apps:

😄 App Emojis

Express yourself with app emojis! You can now upload up to 2000 emojis for your application using the API or in your app's settings. Use these custom emojis anywhere on Discord!

🎮 New Case Studies and discord.com/build Makeover

We've given discord.com/build a fresh new look, showcasing the many possibilities for developers on Discord's platform. Along with this update, we've published three new case studies featuring a few of our Activities partners:

  • 🔫 FRVR: Scaling and Monetizing Krunker Strike on Discord
  • 🤖 Playroom: Building and Scaling a Multiplayer AI Game on Discord
  • 🧑‍🍳 Mojiworks: Creating Your First Discord Activity
    Ready to start building? Check out our Embedded App SDK and begin crafting your own interactive experiences today!

We're thrilled about these updates and can't wait to see what you'll create next on Discord! 🚀
💜 Your Discord Developer team
-# Server admins, if you'd like to change which channel should receive our Developer News or opt-out at any time, you can do so in the Developer Portal or by editing your announcement channel's integrations settings, depending on how you subscribed.

opal oliveBOT

💵 Premium Apps: $1.99 Price point now available

Quick win, but we've enabled a lower price point for Premium Apps based on your feedback. The $1.99 price point is now available as a pricing option for SKUs in the Developer Portal.

opal oliveBOT

🎙️ Introducing Discord's Audio and Video End-to-End Encryption (DAVE) Protocol

Last year, we announced that we were experimenting with new encryption protocols and technologies for audio and video calls on Discord. After extensive experimenting, designing, developing, and auditing, we’re excited to announce Discord’s audio and video end-to-end encryption (“E2EE A/V” or “E2EE” for short), which we like to refer to as our DAVE protocol.

Developer Impact

Starting September 2024, Discord is migrating voice and video in DMs, Group DMs, voice channels, and Go Live streams to use end-to-end encryption (E2EE).

Who this affects: Any libraries or apps that support Discord Voice connections.

You are not immediately required to support the E2EE protocol, as calls will automatically upgrade/downgrade to/from E2EE depending on the support of clients in the call.

Implementing E2EE Voice

We have added high-level documentation for Discord's Audio and Video End-to-End Encryption (DAVE) protocol, and the new voice gateway opcodes required to support it.

The most thorough documentation on the DAVE protocol is found in the Protocol Whitepaper. You can also use our open-source library libdave to assist with your implementation. The exact format of the DAVE protocol opcodes is detailed in the Voice Gateway Opcodes section of the protocol whitepaper.

Future Deprecation and Discontinuation of Non-E2EE Voice

Non-E2EE connections to voice in DMs, Group DMs, voice channels, and Go Live streams will eventually be deprecated and discontinued.

In 2025, all official Discord clients will support the protocol and it will be an enforced requirement to connect to the end-to-end encryption-eligible audio/video session types listed above.

Once a timeline for deprecation and discontinuation is finalized, we will share details and developers will have at least six months to implement before we sunset non-E2EE voice connections.

Read more about Discord's Audio and Video End-to-End Encryption (DAVE) protocol:

opal oliveBOT

shapes_dancing Activities Generally Available for Developers

We’re excited to announce that Activities are now generally available for all developers! 🚀 🎊

In addition to API stability, general availability means that apps with Activities can now be verified, discoverable in surfaces like the App Directory, and can use monetization features.

Recent API Updates

There have been a few important updates we want to highlight since we originally announced the developer preview below. A more detailed list of updates is in the Change Log.

magic plankBOT

[Original Message Deleted]

opal oliveBOT

📸 Updates to Media Proxy Service

Hello fellow developers! The Discord Media Infra team has been working on a revamped version of our Media Proxy Service. Over the week all media requests (image and video retrieval) except embeds will be redirected to this new service.

While we’ve done extensive testing, there is a possibility that some media loading issues may arise during this migration. If you notice any problems with media loading or encounter any errors, please report them in thread thread

We’ll be actively monitoring and addressing issues. Thanks for your cooperation!

opal oliveBOT

⚙️ Updates to Activity Configuration

We made some updates to Activity configuration in the developer portal, which you can see in your app's settings:

  • Activity Settings visibility: Activity settings are always visible now under the Activities section, regardless of whether you have Activities enabled or not
  • Enabling/Disabling Activities: There's a new toggle under Activities > Settings to enable or disable Activities for your app
  • Root URL Mapping requirement: You must add at least one Root URL Mapping on Activities > URL Mappings before you can enable Activities

View the updated Building an Activity guide.

opal oliveBOT
opal oliveBOT

💰 Premium Apps: Support for Multiple Subscription Tiers

We’ve released support for multiple subscription tiers in premium apps! You can now publish multiple subscriptions for your applications at various tiers and allow users to upgrade and downgrade between them.

For developers

  • You can now publish multiple subscription SKUs of the same type (user or guild).
  • We’ve made some slight changes to publishing flows, managing your SKUs, and managing your store to support multiple subscription tiers.
  • Your subscriptions are auto-sorted by price in your store. One-time purchases are still able to be reorganized to your liking.
  • Subscriptions cannot be offered at the same price (IE: Sword Subscription, Shield Subscription, both at $4.99, will not work)

For your app’s users

  • Users can manage App subscriptions in their user settings. (User Settings → Subscriptions → App Subscriptions)
  • Users can seamlessly upgrade & downgrade between subscription plans.
  • Users can easily resume their canceled plans easily without going back through the entire flow.

Implementing Multiple Subscription Tiers
📓 Our Implementing App Subscriptions guide has been updated to include steps for supporting upgrades and downgrades between multiple subscription SKUs in your app.

✍️ Check out the change log for details on what has changed in the API.

opal oliveBOT

🖼️ Default File Upload Limit Change

On January 16, 2025, the default file upload limit will change from 25 MiB to 10 MiB.

⚠️ This represents a breaking change for any apps that are uploading files larger than 10 MiB.

While this limit is already active for users and bot users, it hasn't yet been applied to webhooks.

  • This change will take effect on January 16, 2025.
  • The 10 MiB limit will apply to both webhooks and interaction responses.

✍️ Read the Change Log entry
📜 Read the file upload documentation

opal oliveBOT

🔭 Apps now featured in the Discover Tab!

Exciting news - we've revamped the App Directory, and added it to Discord's Discover tab! So far, we've seen a +50% increase in Directory opens. This means your users are more likely to discover and add your App!

To learn more about these changes and what you can do to improve your listing, keep reading ⬇️

⭐ Streamlined App Directory Listings

  • All Apps have an About page to describe your features and functionality. Add images, videos, and other details to the About tab to make your app’s listing stand out!
  • If Premium Apps features are enabled, the Store tab will display your app’s premium offerings.

🔗 New App Discovery URL Format

  • You can easily share your App Directory listing by linking directly to your app.
  • Use this URL format: https://discord.com/discovery/applications/{APP_ID} to help users navigate directly to your listing.
  • Existing links using the previous https://discord.com/application-directory/{APP_ID} format will be redirected to the new discovery format so you do not need to update your existing links.

ddevs Action Item For Developers with Discovery Enabled

Take a moment to review your app’s visuals and details to ensure everything looks its best on the new Discover tab!

🤖 For Discoverable Apps

  • App display tiles will feature your App Icon and Bot Banner. If no App Icon is set, listings will fallback to Bot Icon.
  • Your App’s Bot Banner will play on hover if it is an animated image.
  • Bot settings are configurable under Settings > Bot in the Developer Portal.
  • App Icon is configurable under Settings > General Information.

🚀 For Discoverable Activities

  • Activity display tiles will feature your App Icon and Cover Art.
  • Your Activity’s Video Preview will play on hover.
  • These settings are configurable under Activities > Art Assets in the Developer Portal.
  • App Icon is configurable under Settings > General Information.
opal oliveBOT

gamingcontroller Introducing the Discord Social SDK gamingcontroller

New developer SDK, inbound!

The Discord Social SDK allows you to build social features, like friend lists, invites, messaging, and voice chat directly into your game, whether players have a Discord account or not.

wumpus_white What can the Social SDK do?

With the SDK, you can offer players:

  • Flexible account options with Discord account linking and provisional accounts
  • A unified friends list across their game and Discord
  • Game invites to jump right into the action
  • Rich Presence game updates in Discord
  • Direct messages from your game or in Discord
  • Lobbies to squad up easily
  • In-game chat synced to a text channel in their Discord server with Linked Channels
  • Voice chat to share those clutch moments
    See these features in action!

buildcog New Developer Resources

To help you get started, we’ve rolled out fresh developer docs in the Developer Portal:

buildbadge Download the Discord Social SDK binaries in the Developer Portal after enabling the SDK for your application.

glhf!

opal oliveBOT

📎 Per-Attachment File Upload Behavior for Apps 📎

We've rolled out some changes to how file uploads work for apps!

Starting today, file upload limits for apps are checked per-attachment rather than per-message. This change makes the app attachment behavior the same as when a user uploads multiple attachments on a single message.

  • File size limits now apply to each individual attachment
  • Previously, limits were applied to the combined size of all attachments in a message
  • These changes make building apps with file handling more consistent and give you more flexibility if a user or server has higher upload limits

The interaction payload will also include a new attachment_size_limit key that specifies the maximum allowed attachment size. This limit may be higher than the default attachment size limit, depending on the guild's boost status or the invoking user's Nitro status.

opal oliveBOT

🔒 Deprecating Guild Creation by Apps

Breaking Change

To address security concerns, we're deprecating the ability for applications to create guilds using the Create Guild endpoint.

What's Changing

  • 🚫 The Create Guild endpoint (POST /guilds) will be restricted for applications starting July 15, 2025
  • 📨 Existing Guilds owned by bots will have their ownership transferred to a real user
  • 🔐 After the deprecation date, the endpoint will no longer be available.

Timeline

  • 📣 April 15, 2025: Deprecation announcement (today)
  • 📧 June 15, 2025: System DM/Email notifications to affected app owners and designated guild members
  • 🛑 July 15, 2025: Create Guild endpoint restricted for applications

For complete details, please see the API Change Log.

opal oliveBOT
opal oliveBOT

📦 Raised Component Limits 📦

We're removing the top level component limit and raising the limit on number of components in a message to 40 when using the IS_COMPONENTS_V2 message flag! We're also removing the limit on the number of components in a Container Component. Legacy messages have not changed and continue to allow up to 5 action rows.

What Changed

  • Total components: The limit for total components in a message has been increased to 40.
  • Top-level components: There is no longer a limit on top level components in a message (previously it was 10).
  • Container Component: There is no longer a limit on the number of components in a Container Component (previously it was 10).

Resources

magic plankBOT

ddevs Discord Developer News - May 2025

Hi devs! 👋 Welcome to our May edition of Discord Developer News. We've got some exciting updates to share with you this month, including new features and upcoming events you won't want to miss.
For more details on recent developer updates, check out the announcement channels in DDevs for #697138785317814292, #1288842831703576606, and #1361717437279506683.

✨ Welcome Back to Dev News!

We're excited to bring back our monthly Developer News! This monthly update will keep you informed about the latest platform changes, upcoming events, and developer interviews. Stay tuned each month for the latest updates from the Discord developer ecosystem.

🎮 Introducing the Discord Social SDK

At GDC earlier this year, we launched the Discord Social SDK. This new SDK enables game developers to integrate Discord-powered social features directly into their games, including rich presence, friend lists, invites, messaging, and voice chat, whether or not players have Discord accounts. RSVP for the DDevs **Introduction to Discord Social SDK **event below!

shapes_dancing  New Message Components for Apps

Your Discord apps just got more interactive! We've expanded our message components toolkit, giving you more ways to create engaging user experiences. These new components allow for richer interactions and more dynamic content in your apps. ✍️ Check out the change log for more details.

📋 May 2025 Platform Updates Survey

We want to make our upcoming events relevant to your Discord developer needs! Please take a moment to complete our quick survey to help shape the discussion during our live events:

➡️ May 2025 Platform Updates Survey ⬅️

Your feedback will help us focus on the topics that matter most to you during our upcoming DDevs events. We'll answer the most common questions and interests during our live sessions.

🗓️ Join Us for Upcoming Live Events

Mark your calendars for these exciting developer events:

  • May 22nd - DDevs Platform Updates: Join us next week for the latest updates on our developer platform updates and meet some new members on the devrel team!
  • May 29th - Deep Dive: New Message Components for Apps: Learn how to use our new message components in your apps.
  • June 12th - Introduction to the Discord Social SDK: Join us in June to learn more about the new Discord Social SDK and see it in action!
    -# 📽️ Not able to join us live? We will be recording these events and scheduling repeat events to accommodate folks in more timezones!

glhf!
Your Discord Developer team
-# Server admins, if you'd like to change which channel should receive our Developer News or opt-out at any time, you can do so in the Developer Portal or by editing your announcement channel's integrations settings, depending on how you subscribed.

magic plankBOT

ddevs Discord Developer News - June 2025

Hey devs! Welcome to our June edition of Discord Developer News. This month we’ve got some exciting updates about our Social SDK and upcoming events to share with you!

🎮 Discord Social SDK Updates

Have you seen the latest news on the Discord Social SDK? 🎮🚀 We're thrilled to share some exciting developments in our game developer toolkit, which is available to creators of all sizes to bring Discord-powered social features directly into your games.

Here's what's new:

🗓️ Join Us for Upcoming Live Events

Mark your calendars and join us live for these developer events:

  • Introduction to Social SDK
    • Date: June 12th June 24th
    • Location: DDevs Event Stage
    • Join us for a walkthrough of the Discord Social SDK and see it in action!
  • DDevs Let’s Play: Activities Game Night
    • Date: June 26th
    • Location: #activities channels
    • Come hang out with our devrel team and other Discord developers for some game time! Start practicing your Putt Party and Krunker Royale.

📨 Discord Developer Email Newsletter

Prefer to stay updated by email? We have launched a dedicated developer newsletter to keep you informed about all things Discord development.

glhf!
Your Discord Developer team
-# Server admins: If you’d like to change which channel receives our Developer News - or if you’d like to opt out at any time - you can do so either in the Developer Portal or by adjusting your announcement channel’s integration settings, depending on how you subscribed.

magic plankBOT

ddevs Discord Developer News - June v2025.5

Hey devs! Quick update from your Discord Developer team.

🔄 Event Rescheduled: Introduction to Social SDK

🎮 Join us for a fun walkthrough of the Discord Social SDK and see it in action! We'll cover:

  • Getting started with the Social SDK
  • Key features and capabilities
  • Live demonstrations

Whether you're new to the Social SDK or looking to dive deeper into Discord's game development tools, this session is perfect for developers of all experience levels. We'll show you how to bring Discord-powered social features directly into your games.

glhf!
Your Discord Developer team
-# Server admins: If you'd like to change which channel receives our Developer News - or if you'd like to opt out at any time - you can do so either in the Developer Portal or by adjusting your announcement channel's integration settings.

magic plankBOT

ddevs Discord Developer News - July 2025

Hey devs! This month we've got new Social SDK release notes, Screenshot Saturday, and upcoming events to share with you!

🎮 Discord Social SDK Updates

  • 📦 Social SDK 1.4 is a big release! This release provides multiple requested features:
    • You can now retrieve chat histories of lobbies up to 200 messages and 72 hours — also, DM History is coming soon! 🎉
    • A new series of functions that automatically sort your Unified Friends list based on our design guidelines, without you having to build your own sorting functionality!
    • The Social SDK will now also let you know which friend requests are likely spam.
    • Usual set of bug fixes, general improvements and more!
  • 📚 New Guides - Check out our latest resources:
    • Handle Special Characters in Display Names - Learn how to properly handle Unicode characters in your game's fonts when rendering Display Names in your game.
    • Voice Chat Management Guide - Our long-awaited guide on managing Voice Chat with the Social SDK is finally here!
    • Unified Friends List Figma File - We’ve created a Figma resource with a templated design-system of building out your game's friends list. Change various components to match your game’s visual-language, and see it update in realtime.

📸 New! Screenshot Saturday in DDevs

Screenshot Saturday is a weekly tradition in the gamedev community where developers share progress on their projects. It could be a gameplay GIF, a WIP screenshot, or even early prototype footage.

We're bringing this tradition to DDevs! Every Saturday, we'll have a dedicated thread in our game dev chat where developers can showcase what they've been working on and spark discussions about techniques, tools, mechanics, and more.

🗓️ Join Us for Upcoming Live Events

Mark your calendars and join us live for these developer events:

  • Powering Player Connections: How Discord's Social SDK Boosts Your Game
    • Friends make gaming better. Discord is the place where friends talk before, during, and after gaming. Come and see how our Social SDK brings some of that Discord magic right into your games. And yes, there will be memes.
    • Date: July 10th at 12pm PST in event stage
  • DDevs: Building Games with Unity and Social SDK
    • Join us for a live walkthrough integrating the Discord Social SDK into Unity! We'll demonstrate how easy it is to integrate Discord-powered social features into your Unity games using ready-made prefabs built following our UI best practices.
    • This event will also include a sample project so you can easily bring it into your games!
      • Date: July 24th at 12pm PST in event stage

🆕 DDevs Community Updates

We've refreshed the Discord Developers server! Take a moment to explore the updated spaces and new resources we've added to better serve everyone building cool things in our developer community.

Happy building!
Your Discord Developer team

-# Server admins: If you'd like to change which channel receives our Developer News - or if you'd like to opt out at any time - you can do so either in the Developer Portal or by adjusting your announcement channel's integration settings, depending on how you subscribed.

opal oliveBOT

🔊 Voice Gateway Update for Library Developers 🔊

Hey developers! We've identified an issue causing 4006 "Session no longer valid" errors for bots using voice connections. Here's what's happening and how to fix it.

🔍 What's going on?

Some libraries are dropping port numbers from VOICE_SERVER_UPDATE payloads. This worked historically with default ports, but our infrastructure uses custom ports (like sweetwater-12345.discord.media:2048) that must be preserved.

We're updating our API docs with fresh examples showing the proper endpoint format.

🛠️ Action needed:

Library maintainers

  • 🔧 Update your voice gateway implementation to use the full endpoint from VOICE_SERVER_UPDATE, including port numbers

Bot developers

  • 🚀 Update to the latest library versions once fixes are released - no code changes needed on your end!
opal oliveBOT

💾 Simplified proxy requests are now available in Discord Activities! 💾

We've updated the Content Security Policy (CSP) for Discord Activities to remove the /.proxy/ path requirement when making requests through the proxy. This change simplifies the developer experience while maintaining full backward compatibility.

All existing code will continue to work without changes. The /.proxy/ path prefix is still fully supported and will be maintained indefinitely. You can:

  • Continue using existing /.proxy/ URLs
  • Switch to the new, simplified URLs
  • Use both patterns simultaneously in the same application

No migration is required. This is a purely additive change that makes it easier to work with the Proxy!

The patchUrlMappings utility will also be updated in the Embedded App SDK to generate the simplified URLs by default, though it will continue to support the /.proxy/ format for backward compatibility.

Check out the full changelog for details

magic plankBOT

ddevs Discord Developer News - August 2025

Hey devs! Welcome to our August edition of Discord Developer News. This month we're excited to share updates to our Social SDK, updated platform docs, upcoming events, and more!

🎮 Social SDK Updates

📓 Platform Docs Updates

👾 Activities Updates

🗓️ Join Us for Upcoming Live Events

Mark your calendars and join us live for these developer community events:

▶️ DDevs: UI/UX Best Practices for Apps

Join us for a practical session on UI/UX best practices for Discord apps! We'll explore design principles that create intuitive user experiences, showcase well-designed bot features, and provide actionable resources to help you see your creations through users' eyes. Come ready to transform how users interact with your apps!

▶️ Let's Play, DDevs: SUPERVIVE

Join us for a Let's Play session of SUPERVIVE! Watch our Dev Rel team demonstrate the Discord Social SDK in action during gameplay of this top-down MOBA battle royale. Perfect for developers interested in SDK implementation or community members who just want to hang out! Watch their launch video.

▶️ DDevs: Discord Social SDK Updates

Swing by to get an overview of the latest Social SDK updates with several Discord staff members!

Happy building!
Your Discord Developer team

opal oliveBOT

Introducing a Request Guild Members Rate Limit

We're introducing a change to the Request Guild Members gateway opcode.

👀 What's changing?

We are implementing a rate limit on the Request Guild Members opcode. This limit specifically affects requests for all guild members, when developers set limit to 0 and use an empty string for query.

Note: This rate limit applies only to the initial request when requesting ALL Guild Members, not to the Guild Members Chunk events that are sent in response.

  • Rate Limit: 1 request per guild per bot every 30 seconds
  • Scope: The limit applies per guild per bot (one bot can request members for different guilds within the 30-second window)
  • Behavior: Requests that exceed this limit will receive a RATE_LIMITED event as a response
  • Changelog: See the changelog for more information on this event payload

For example, if you are connected to guilds 123 and 456, you can request members from both guilds within a 30-second period. However, you cannot make a second request to guild 123 within that same 30-second window.

shapes_dancing Impact on Applications

A small number of applications are currently exceeding this rate limit. If your app heavily relies on this opcode, we recommend reviewing your current implementation and making necessary adjustments to maintain functionality.

🗓️ Timeline

Most apps won’t encounter this rate limit until it is rolled out to all servers on October 1, 2025. However, if you are the developer of an app that is requesting all guild members in very large guilds then you may start seeing this as soon as today so we can ensure platform stability.

✍️ Check out the changelog for more details on this change and the shape of the rate limit payload

-# https://github.com/discord/discord-api-docs/pull/7760

opal oliveBOT

📌 Pin Updates! 📌

We've raised the pin limit per channel from 50 to 250!

Permissions
Pinning and unpinning messages now has its own permission. We split PIN_MESSAGES out of MANAGE_MESSAGES to give more granular control over who can pin messages in a channel. This is effective immediately for both users and apps. This change will be backwards compatible until January 12th 2026 when MANAGE_MESSAGES will no longer grant the ability to pin or unpin messages.

New Endpoints
We've added new endpoints to manage paginated pins in channels. The Get Channel Pins endpoint allows you to retrieve and manage pinned messages in a more efficient way, especially for channels with a large number of pinned messages. As part of this change we have deprecated the old endpoints for pinned messages. Here are the new endpoints:

Get Channel Pins: Retrieve a list of pinned messages in a channel with pagination support:
/channels/{channel.id}/messages/pins

Pin Message: Pin a message in a channel:
/channels/{channel.id}/messages/pins/{message.id}

Unpin Message: Unpin a message in a channel:
/channels/{channel.id}/messages/pins/{message.id}

Check out the full changelog for pin permission splitting and paginated pin endpoints

opal oliveBOT

ddevs MODAL COMPONENTS? FINALLY! ddevs

After a thousand years of simple modals with text inputs, we've finally added a new top-level Label component containing a label, a description, and a component: a Text Input or a String Select! You heard right, String Selects now work in modals!
-# Yes, we do read your feedback, give us more! 👀

What's New

  • String Selects now work in modals when placed inside a Label component
  • Text Inputs can also be used inside a Label component
  • When a Text Input is used in a Label component the label field on the Text Input is not allowed in favor of label on the Label component
  • ActionRow + TextInput is now deprecated in favor of the new Label component for better accessibility
  • The required field is now available on String Selects (defaults to true in modals, ignored in messages)
  • The disabled field on String Selects is not currently allowed in modals, and will trigger an error if used

📦 New Layout Component

  • Label - A new top-level component that lets you add a title and description to your modal components!

📦 Updates to Modal Components

ddevs Developer Resources

🐢 Turtle fact: Green sea turtles have green cartilage and fat due to their diet of mostly seagrasses and algae! Unique among sea turtles, they are primarily herbivores.

opal oliveBOT

Deprecating Non-E2EE Voice Calls

We started work on end-to-end encryption for Discord over two years ago to enhance our user privacy and security. With DAVE now supported across all platforms, we’re very close to making every call fully end-to-end encrypted.

🧷 Developer Impact

To support our long-term privacy goals, we will only support E2EE calls starting on March 1st, 2026 for all audio and video conversations in direct messages (DMs), group messages (GDMs), voice channels, and Go Live streams on Discord. After that date, any client or application not updated for DAVE support will no longer be able to participate in Discord calls.

💻 Implementing E2EE Voice

For developers working with Discord's voice APIs, you can consult the updated voice documentation and the implementation examples available in our open-source repository as well as the protocol whitepaper.

We're committed to making this transition as smooth as possible while delivering the enhanced privacy and security that DAVE provides to all Discord users.

magic plankBOT

ddevs September 2025 Developer News

Hey Discord Developers! 👋

Welcome to our September 2025 edition of Developer News. We've got new features, improvements, and resources to help you build amazing experiences on Discord. Let's dive in!

📦 Social SDK 1.5 Release

Discord Social SDK 1.5 includes new features and bug fixes to enhance your game integration:

  • DM History Support: New methods for accessing game DM history
  • Enhanced Rich Presence: Additional activity types and customization options
  • Cross-Device Game Invites: Accept invites across different devices
  • Platform Updates: Mobile auth improvements, ARM64 support, and bug fixes

Check out the changelog for Social SDK 1.5 for more details.

🎙️ Social SDK Communication Features Now Available

We’re thrilled to announce that the Discord Social SDK communication features are coming out of closed beta! Now, developers can take full advantage of Discord voice and text chat, connecting players for longer playtimes, and enhancing multiplayer experiences.

youtube Introducing Discord Developers YouTube Channel

We're excited to announce the official launch of our Discord Developers YouTube Channel! This dedicated space will host tutorials, best practices, case studies, and other valuable content to help you make the most of Discord's developer platform.

Like + Subscribe now to stay updated with the latest developer content and resources!

📌 Message Pinning Updates

We've raised the pin limit from 50 to 250 and made changes to message pinning permissions and management:

  • New Dedicated Permission: PIN_MESSAGES is now separate from MANAGE_MESSAGES, giving you more granular control over who can pin messages in a channel
  • Backward Compatibility: This change will be backward compatible until January 12th, 2026, after which MANAGE_MESSAGES will no longer grant the ability to pin or unpin messages
  • New Paginated Pins Endpoints: We've introduced new endpoints for more efficient management of pinned messages, especially in channels with numerous pins

shapes Modals are getting new components!

You asked for them, and now they're here!

  • New Label Component: A top-level component for modals with label, description, and the ability to contain Text Input or String Select
  • String Select Support: String Selects now work in modals, providing more interactive options for your users
    Check out the changelog for more details

📅 Upcoming Events

shapes Modal Components

We’ve introduced new modal components, join us as we live code to show you what modals are capable of now!

  • Date: <t:1757527200:f>
  • Location: DDevs Event Stage
  • RSVP here

discord_trophy Fall 2025 Platform Updates

Join us for a recap of recent platform updates and preview of what we’re working on next.

  • Date: <t:1758826800:f>
  • Location: DDevs Event Stage
  • RSVP here

glhf!

  • The Discord Developer Team
opal oliveBOT

ddevs MORE MODAL COMPONENTS ddevs

You thought we were done??? What if we added ALL selects to modals?? That means User Select. That means Role Select. Did we mention Mentionable Select? Heck we'll even add Channel Select. What if we added Text Display as a top level component with full markdown support too??
-# Please keep giving us feedback, that's how we prioritize and make these changes!

What's New

  • All Selects now work in modals when placed inside a Label component
  • Text Display works as a top level modal component
  • The required field is now available on all Selects (defaults to true in modals, ignored in messages)
  • The disabled field on all Selects is not currently allowed in modals, and will trigger an error if used

📦 Updates to Modal Components

ddevs Developer Resources

🐜 Ant fact: Scientists estimate that there are about 10 quadrillion ants (that’s one million billion ants) in the world. Hopefully they don't become sentient and rise against us!

opal oliveBOT

🔊 Voice & Video Transport Update - Deprecated Modes Being Removed

We have begun the rollout of new software that removes support for the deprecated voice & video transport encryption modes. You may already have experienced voice gateway connections which no longer support the deprecated modes.

  • Please ensure you support aead_xchacha20_poly1305_rtpsize and optionally aead_aes256_gcm_rtpsize
  • This rollout will gradually progress to 100% of our voice fleet over the next 1-2 months.

Note: You may see xsalsa20_poly1305_lite_rtpsize temporarily included in the shortened list of available modes. This is still a deprecated transport encryption mode and you should not rely on it remaining available.

magic plankBOT

ddevs_halloween October 2025 Developer News

Hey Discord Developers! 👋

Welcome to our October 2025 edition of Developer News. Let's dive into the latest platform updates and upcoming events!

🤖 Bot & API Updates

  • Modal Components: We finally did it! We've expanded components for modals! All select menus (User, Role, Mentionable, Channel) are now fully supported in modals. We've also added new TextDisplay and Label components. Learn more about our new modal components in the changelog.
  • Per Guild Bot Profiles: Bots can now set banner, avatar, and bio fields for each guild they are a member of using the modify current member route.

🎮 Social SDK Updates

  • Discord Social SDK 1.6 introduces new features like guild channel sorting and upcoming authorization flow support, API improvements with a safer current user method and message caching, enhances voice communications, and fixes various bugs including privacy settings and connectivity issues. Check out the full changelog for Social SDK 1.6.
  • Server-Side Provisional Account API: We've introduced a new endpoint for creating provisional accounts in server-side games. This streamlines the account creation process for your users. Check out our Using Provisional Accounts guide to implement this feature in your game.
  • New Webhooks: We've introduced new webhooks for LOBBY_MESSAGE_* and GAME_DIRECT_MESSAGE_* events that allow you to intercept lobby and direct messages for asynchronous moderation. Visit our Webhook Events documentation to learn more about these new events.

👀 Upcoming Platform Changes To Watch

  • Rate Limit on Requesting ALL Guild Members Opcode: We've introduced rate limits when requesting all guild members to improve platform stability. Learn more.
  • Deprecating Non-E2EE Voice Calls: We're phasing out non-end-to-end encrypted voice calls. Review the deprecation timeline and migration guide to ensure your integrations continue to work!
  • Voice & Video Transport Codes Deprecation: This is a reminder that deprecated transport codes will be rolling off over the next 1-2 months. Please update your implementations accordingly. Learn more.

📺 @DiscordDevelopers YouTube

Check out the latest videos from the Discord Developers YouTube channel, including events you may have missed here!

📅 Upcoming Events.

Fall 2025 Platform Updates Event

Join us for a comprehensive recap of recent developer platform updates and get a preview of what we're working on next!

Building Games with the Social SDK

Learn how to use lobbies, invites, and Rich Presence together in your game to connect players to their friends! We'll cover creating lobbies, inviting players through Discord, and exposing lobbies and joining through Rich Presence.

happy building!

  • The Discord Developer Team
opal oliveBOT

ddevs MODAL FILE UPLOAD ddevs

Have you ever wanted to collect more than text from a user through a modal? With the new File Upload component you can! It uploads! It downloads! It does everything in between! Any file types are accepted! You've never seen a component like this!

What's New

  • New File Upload component in modals
  • File Upload can be configured to accept between 0 and 10 files
  • File Upload can be set to be required or not
  • Any file type can be uploaded and the size limit is based on the user's upload limit in that channel

ddevs Developer Resources

📬 Mail fact: Nearly the entire world can be reached by mail, with your help we can cover the same amount or more by file upload!

magic plankBOT

ddevs November 2025 Developer News

Hey Discord Developers! 👋

Welcome to our November 2025 edition of Developer News. Let's dive into the latest platform updates and upcoming events!

🎮 Social SDK Updates

Discord Social SDK 1.6.12170

We've shipped some exciting updates to the Discord Social SDK in release 1.6.12170.

  • Custom Game Invite Banners: You can now provide custom art to display as a banner image in game invites that appear in Discord, making your invites more visually engaging and on-brand.
  • Customize Rich Presence Display Names: It's now possible to customize the displayed name for your Application in Discord's Rich Presence, giving you more control over how your game appears to users.

🤖 Bot & API Updates

  • Last month we announced new modal components!
  • This month: Introducing the File Upload component in Modals
    • Have you ever wanted to collect more than text from a user through a modal? With the new File Upload component you can! You can specify a min and max number of files accepted between 0 and 10, and if uploading files within that limit is required before submitting. Any file types are accepted, and the max file size is based on the user's upload limit in that channel.

🛠️ Libraries and Samples

We've shipped some tool updates to make your development experience smoother:

  • We’ve integrated lobbies and invites into the Unity for Social SDK Sample Project. Use them to let players invite their friends both in game and through the Discord client. Download the sample and use it for inspiration in your game!
  • discord-interactions.js got a refresh to support new Enums for components and receiving webhook events, making it easier to build bots that respond to Discord interactions and webhook events.

📚 Social SDK Case Studies

  • Learn how Mainframe Industries integrated the Discord Social SDK directly into Pax Dei, using Discord's voice and social features to power their in-game communication stack. Read the full case study to see how they did it!
  • See how Omeda Studios, the team behind the MOBA Predecessor, used the Discord Social SDK to quickly deliver highly requested social features. Watch the video!

📅 Upcoming Events

Getting Started with Discord Webhooks: Hook, Line, and Sinker

Join us for a hands-on webinar where we'll walk through everything you need to know about Discord Webhooks.

2025 Buildathon Kickoff!

Come together to create Bots and Apps, Games with the Social SDK, and Activities. We’ll have categories to create in, channels to show off your progress, and spaces to find teammates to build together. The Buildathon will run from Dec 1st to Jan 9th, then we’ll highlight some of our favorite creations!

happy building!

  • The Discord Developer Team