Title: By default, commands are registered with ‘dm_permission?’ set to ‘false’ and not null · Issue #2034 · DSharpPlus/DSharpPlus · GitHub
Open Graph Title: By default, commands are registered with ‘dm_permission?’ set to ‘false’ and not null · Issue #2034 · DSharpPlus/DSharpPlus
X Title: By default, commands are registered with ‘dm_permission?’ set to ‘false’ and not null · Issue #2034 · DSharpPlus/DSharpPlus
Description: Summary Hello. When upgrading from the SlashCommands to the Commands Library, I noticed that users can only execute the commands on Guilds and no longer via private message. After looking at the API Doc and the code for it, there is a de...
Open Graph Description: Summary Hello. When upgrading from the SlashCommands to the Commands Library, I noticed that users can only execute the commands on Guilds and no longer via private message. After looking at the AP...
X Description: Summary Hello. When upgrading from the SlashCommands to the Commands Library, I noticed that users can only execute the commands on Guilds and no longer via private message. After looking at the AP...
Opengraph URL: https://github.com/DSharpPlus/DSharpPlus/issues/2034
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"By default, commands are registered with ‘dm_permission?’ set to ‘false’ and not null","articleBody":"### Summary\n\nHello. \r\nWhen upgrading from the SlashCommands to the Commands Library, I noticed that users can only execute the commands on Guilds and no longer via private message. \r\nAfter looking at the API Doc and the code for it, there is a deprecated field ‘dm_permission?’ in the Discord API which can be null, false or true. \r\n(https://discord.com/developers/docs/interactions/application-commands)\r\n\r\nThe default, i.e. if zero is passed, is true and commands are also displayed in DMs. \r\n\r\nAllowedContexts should actually be used, but that is not the point.\r\n\r\n[DSharpPlus.Commands](https://github.com/DSharpPlus/DSharpPlus/tree/master/DSharpPlus.Commands)/[Processors](https://github.com/DSharpPlus/DSharpPlus/tree/master/DSharpPlus.Commands/Processors)/[MessageCommands](https://github.com/DSharpPlus/DSharpPlus/tree/master/DSharpPlus.Commands/Processors/MessageCommands)\r\n/MessageCommandProcessor.cs\r\n```c#\r\npublic async Task\u003cDiscordApplicationCommand\u003e ToApplicationCommandAsync(Command command)\r\n {\r\n [...]\r\n\r\n return new(\r\n [...]\r\n allowDMUsage: command.Attributes.Any(x =\u003e x is AllowDMUsageAttribute),\r\n [...]\r\n );\r\n }\r\n``` \r\n\r\nIn the code of the MessageCommandProcessor, the following is set for allowDMUsage in line 172: command.Attributes.Any(x =\u003e x is AllowDMUsageAttribute).\r\n\r\nThis means that false is set here by default and every command must be explicitly allowed for use in DMs.\r\n\r\nI would like to ask if this is intended, that the default is false and not null.\n\n### What version of the library are you using?\n\nv5.0.0-nightly (make sure you are using the latest nightly!)\n\n### What .NET version are you using? Make sure to use the latest patch release for your major version.\n\n.NET 9.0 Previews\n\n### Operating System\n\nLinux Debian\n\n### Reproduction Steps\n\nRegister a command and try to execute it via DM. If the attribute is not set, it will not be allowed via DM.\n\n### Trace Logs\n\n_No response_\n\n### Exceptions or other error messages\n\n_No response_\n\n### Anything else you'd like to share\n\n_No response_","author":{"url":"https://github.com/Scartzz","@type":"Person","name":"Scartzz"},"datePublished":"2024-07-22T23:08:04.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/2034/DSharpPlus/issues/2034"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:7ad12d64-fe68-25ba-dd01-4257734e3968 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E892:5A528:86D6387:B577482:698CFBBA |
| html-safe-nonce | 44e2343a22d053cfd80299a4d61446eb52bc493d98243b256e6dd7d7abd5a233 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODkyOjVBNTI4Ojg2RDYzODc6QjU3NzQ4Mjo2OThDRkJCQSIsInZpc2l0b3JfaWQiOiIzMDg1NjE4NTY4NjYzNzI3MDM0IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 4ae59399c286019eefddee4af654d7e30398ae4475f453db7ef0bfbfb9e09925 |
| hovercard-subject-tag | issue:2423910936 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/DSharpPlus/DSharpPlus/2034/issue_layout |
| twitter:image | https://opengraph.githubassets.com/77f333a8a00f39f752d7627309fabbcf81c075886a0f72c0b5d68bbcb320f6e1/DSharpPlus/DSharpPlus/issues/2034 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/77f333a8a00f39f752d7627309fabbcf81c075886a0f72c0b5d68bbcb320f6e1/DSharpPlus/DSharpPlus/issues/2034 |
| og:image:alt | Summary Hello. When upgrading from the SlashCommands to the Commands Library, I noticed that users can only execute the commands on Guilds and no longer via private message. After looking at the AP... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Scartzz |
| hostname | github.com |
| expected-hostname | github.com |
| None | 09447bc7ef1f50c40a646f48e82dfbd31133c28c940bfee5a938619ac0191038 |
| turbo-cache-control | no-preview |
| go-import | github.com/DSharpPlus/DSharpPlus git https://github.com/DSharpPlus/DSharpPlus.git |
| octolytics-dimension-user_id | 36208721 |
| octolytics-dimension-user_login | DSharpPlus |
| octolytics-dimension-repository_id | 67243489 |
| octolytics-dimension-repository_nwo | DSharpPlus/DSharpPlus |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 67243489 |
| octolytics-dimension-repository_network_root_nwo | DSharpPlus/DSharpPlus |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 02f0047575af3d968e1dea9cf0b6015a852cddfe |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width