

Traceback (most recent call last):
File "/home/container/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 220, in wrapped
ret = await coro(*args, **kwargs)
File "/home/container/cogs/mod.py", line 68, in timeout
until = discord.utils.utcnow() + datetime.timedelta(seconds=times[option])
NameError: name 'times' is not defined
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/container/.local/lib/python3.9/site-packages/discord/ext/commands/bot.py", line 1215, in invoke
await ctx.command.invoke(ctx)
File "/home/container/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 998, in invoke
await injected(*ctx.args, **ctx.kwargs)
File "/home/container/.local/lib/python3.9/site-packages/discord/ext/commands/core.py", line 229, in wrapped
raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'times' is not defined



























0d2e9ab Create Readme.md - ItsBreadTime
a539da6 Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime8ca13b4 Update and rename Readme.md to README.md - ItsBreadTime






97f38f8 Change "hi there" to "hey there" - ItsBreadTime








78913dc replace promise with project in navbar - ItsBreadTime
9313c4c Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime






aff8ec3 Delete greetings.yml - ItsBreadTimerefs/heads/main with refs/pull/1/merge (commit a50b470e546b1be15468f5a6592dbd631d53cc99) and refs/heads/ItsBreadTime-patch-1 (commit 301bcd5fcff49d9c711232acd8bd3579cbec3703).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:jav...refs/heads/main with refs/pull/2/merge (commit 35cef3d76956cde098c25cd3c85b38f44eba0aea) and refs/heads/ItsBreadTime-patch-1-1 (commit aff8ec32f03631b3925ed8e2e6955d89046c89d6).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:j...
03a89ba move 404 path to asset directory - ItsBreadTime
ac48463 Delete stale.yml - ItsBreadTime
a4c588d Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime

9a9916c github button, replace about pic with my selfie - ItsBreadTime
b88f412 Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime



57514dd clean up image assets, converting to webp - ItsBreadTime
4cd7b44 resize image, remove unnecessary js - ItsBreadTime







ea33133 convert svg to webp to hopefully display properly - ItsBreadTime


















769e170 remove some unused css - ItsBreadTime
40afeef Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime








refs/heads/main with refs/pull/3/merge (commit 89f5e675b0f6de5ad49ca1dc431fab36e09382e4) and refs/heads/imgbot (commit 478f9a40c0aa8ae2a4cf1acf99f7f39981a90af3).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javascript | :hea...
73fc6f8 (hopefully) fix 404 page not loading css and js - ItsBreadTime
























GET /guilds/{guild.id}/bans endpoint. Starting today, a maximum number of results will be returned in the response (configurable via a limit parameter). before and after can be supplied with a user id to paginate the response from the endpoint. You can learn more about the new endpoint parameters over on our docs site: https://discord.com/developers/docs/resources/guild#get-guild-bans


10fbeee resized image - ItsBreadTime
ad82413 Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime


2f1d363 Added proper pc specs - ItsBreadTime1694977 Make proper pc specs page - ItsBreadTimerefs/heads/main with refs/pull/4/merge (commit 11124663b04fe406f38009c1631f43328c163f32) and refs/heads/ItsBreadTime-patch-1 (commit 2f1d3630392668d39dcee4397324d6cbd51c43b4).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/la...refs/heads/main with refs/pull/5/merge (commit 1c034682aac67bbfc4fcb6eef2c125085ad9e58e) and refs/heads/ItsBreadTime-patch-2 (commit 1694977781453f125ab4d554cc00f08804f56b60).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/la...


736f9f7 better responsiveness, more info - ItsBreadTime
c137b44 Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime
2d52a52 added setup hyperlink to main page - ItsBreadTime







76d77cb correct setup link, embed readme, more redirect - ItsBreadTime
refs/heads/main with refs/pull/6/merge (commit 59069c9f13abb113b7520354dd97bdf0c0e1cc18) and refs/heads/testing (commit 3f0a92ce36169943e5dda9936a37db032f1f9b4f).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javasc...
refs/heads/main with refs/pull/7/merge (commit f7ee9aba734d12aa08057b01f06ed3e35ade03c6) and refs/heads/test-2 (commit a311d0c7ee40f1d69814968035d123cb214821ef).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javascr...refs/heads/main with refs/pull/8/merge (commit 4808cd0709e4362def0baf58288b961d3d50f5e3) and refs/heads/test-3 (commit cefc8dda8fe348dc2c6cad4a373d48662e16f892).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javascr...refs/heads/main with refs/pull/8/merge (commit e95ba56b865b7aaef8fd6aca8f062ceb8e7dc4e4) and refs/heads/test-3 (commit 3c78e190cee448d7e6c46b019107534b7d7fca86).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javascr...refs/heads/main with refs/pull/8/merge (commit e4c17d08e33d8f8218d09e76a284d80eb9c015b4) and refs/heads/test-3 (commit c46313edb94b9fcc78df63f264e0ee273be6e347).
| Category | Base branch | Pull request |
| :------- | :---------: | :----------: |
| .github/workflows/codeql-analysis.yml:analyze/language:javascr...











09b4b35 i forgot to add quick link to notices section 




af0d4b4 change beta to dev channel - ItsBreadTime
50c241a Merge branch 'main' of https://github.com/ItsBr... - ItsBreadTime



































https://support.discord.com/hc/en-us/articles/4421269296535-AutoMod-FAQ
If you have any questions or feedback about the API updates, we'd love to have you at the event later today! The AutoMod team will be walking through the feature and API in detail, and answering the questions you've submitted. (edited)
$ prefix in identify connection properties are deprecated. Now instead of the $os, $browser, and $device fields, you should use os, browser, and device. Full details can be found in the change log:
Do I need to do anything??
Nah, at least not on a lovely Friday afternoon like today. Discord's server will automatically resolve $-prefixed fields to their non-prefixed counterparts for now, so nothing is going to imminently break. However, with the next major API version, support for this resolution will go away and you'll need to update your app. When that deadline is near, we'll give ya another heads up. (edited)
AUTO_MODERATION_ACTION_EXECUTION Event
As you probably know, in API v10+, the MESSAGE_CONTENT (1 << 15) intent is required for your app to receive message content.
Message content is currently being exposed in the content and matched_content fields for AUTO_MODERATION_ACTION_EXECUTION gateway events, so we're updating its behavior to match other content fields across the API. Starting next week, apps using API v10+ will start receiving empty strings for content and matched_content unless the app has the MESSAGE_CONTENT intent.
What do I need to do?
If your app depends on matched_content or content in AUTO_MODERATION_ACTION_EXECUTION events, remove that dependency OR make sure your app is using the MESSAGE_CONTENT (1 << 15) intent.
When will the change go in effect?
The change will rollout next Monday, June 27. While we technically consider this a bug fix (as no message content should be exposed in API v10+), we realize it's also a breaking change so we're going to hold off deployment of the change until next week. (edited)
app_permissions field whose value is the computed permissions for a bot or app in the context of a specific interaction. Similar to other permission fields, the value of app_permissions is a bitwise OR-ed set of permissions expressed as a string.
app_permissions is meant to help identify the permissions your bot or app has without having to cache or store any server-specific permission settings or updates. It can be used before replying to an interaction in order to prevent any permission-related failures. Neat!
(edited)
@-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.
app_permissions field will hopefully make it a bit easier to fetch the contextual permissions your bot has. (edited)
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.
min_length and max_length fields were added to application command options. These fields let apps control the allowed length of text a user can input.
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.
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.

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.

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}/webhooksPOST /channels/{channel.id}/webhooks

The badge will be displayed on the bot's user profile
The tooltip (when hovering over the badge) will say "Supports Commands"
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
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)
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. (edited)
50027: Invalid Webhook Token errors when trying to edit, delete, follow up, or take some other actions on interaction webhooks.


An important reminder for developers of verified apps: the deadline for the new message content restrictions is Thursday, 1 September 2022, 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 Thursday, 1 September 2022 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
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.
resume_gateway_url to resume gateway sessions will be disconnected faster than normal. wss://gateway.discord.gg will NOT stop working.
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). (edited)
name_localizations and description_localizations fields when creating or updating commands.


Automatic Command Scope Migration
Hey all
Based on feedback from our scope migration experiment announced on 14/07/2022, 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.
And just a reminder: as of 12/07/2022, any apps installed with a bot scope are granted the applications.commands scope by default.
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.

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
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. (edited)

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.
INVALID_SESSION and how to handle it: https://discord.com/developers/docs/topics/gateway#invalid-session

> 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.

Forum channels released to community servers
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
https://discord.com/blog/forum-channels-space-for-organized-conversation
--
In our DDevs stage event at 4:00 AM, you can hear from an engineer from the Forum channels team and ask any questions you may have.
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 spamMANAGE_GUILD permission to create, update, or delete any Auto Moderation rules.
And feedback or questions can be answered in the #deleted-channel channel
✏️ API documentation: https://discord.com/developers/docs/resources/auto-moderation#auto-moderation-rule-object-trigger-types
https://discord.com/blog/new-anti-spam-raid-automod-safety-update
Sticking with the animal speed theme...
Corgi fact: Corgis can run up to 25mph, just under the world sprinting record for humans (and twice as fast as black mambas)
New Select Menu Components
✍️ Change Log: https://discord.com/developers/docs/change-log#new-select-menu-components
shiny
brand new select menu message components have been added. The new components' options are automatically populated with the corresponding resource:
5)6)7)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 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!)
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!
(edited)
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 
The Directory will be accessible in server settings, which means you’ll only see it in servers where you have manage server permissions.
Delete Ephemeral Messages
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>.

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/.

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.
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).
nsfw) channelsnsfw 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

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!
Note: if you have an 'Early Verified Developer' badge, that is not going away and will remain on your profile.
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!

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.
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 commandAPPLICATION_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) (edited)
Application Connection Metadata and Linked Roles
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:

Stricter Type Enforcement for Falsy Values
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.
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
)
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 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.

New GUILD_AUDIT_LOG_ENTRY_CREATE Gateway Event
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.
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.
Increase Limits for AutoMod Keywords
The maximum number of KEYWORD rules per guild was increased to 6 (previously 5)
The maximum length for keyword_filter and allow_list fields were increased to 60 (previously 30)


Update on March Verification Requests
Hey everyone
, 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.
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:
https://discord.com/channels/613425648685547541/696891424041598978/1086403616904073226,
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.
(edited)
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.
AutoMod Badge for Apps
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.



We had to roll it back yesterday to patch some issues. We will most likely be bringing it back
Have a good, markdown-less weekend!
Animal fact of the week: a group of rhino is called a "crash" 
Impact of Unique Usernames on Apps and Bots
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
More 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:
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#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.
Preparing your app for username changes#0 discriminator that updated users will have when updating your code.
*This change is related to upcoming username changes for apps and bots, which you can read more about at https://dis.gd/app-usernames*

(again)

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.

Setting Activity State for Bot Users 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

Team Member Rolesowner, 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 (edited)
Default Values for Auto-populated Select Menusdefault_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.

PREMIUM_REQUIRED (10) interaction response type is available to prompt users to upgradeentitlements 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
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).
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 issuedhm: unique signature that remains valid until ex.
discordapp.com/*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.

Fix Interaction Response Permissions
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 


➡️ 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. 



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.
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).
We've aligned the API's character limit for the Guild description field with the app's limit of 120 characters. This change addresses the previous discrepancy where the API allowed bypassing the client's character limit for this field.
The new limit is now reflected in our Open API spec.
Transfer-Encoding: chunked
From 13/01/2024 9:17 AM to 19/01/2024 4:30 AM, we erroneously delivered interactions with chunked encoding. This has now been resolved.
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.
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.



PATCH /users/@me like you would a regular avatar. same constraints apply to bots here as they do user accounts w/ nitro.
User Interaction Response Deletion
MANAGE_GUILD permission alongside the existing KICK_MEMBERS permission.
See the change log PR draft for details.
(edited)
User-Installed Apps are in Preview

Developers can now build Activities! 
New Discord Activities developer docs with a tutorial, code samples, development guides, and design principles.
The Embedded App SDK is now available via npm and GitHub.
The Embedded App SDK Reference is now available.
Embedded App SDK Hotfix
In the spirit of "move fast and break things" we moved fast, and broke a thing.
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.
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.

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! 

User-Installed Apps Experiment in DDevs
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.
(All followup messages will still currently be ephemeral.)
Try it out and let us know your feedback in the thread below. 

ex URL parameter to determine the expiration time for an attachment URL.

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.


Identity Verification Update