Title: DM-only commands not working · Issue #2332 · DSharpPlus/DSharpPlus · GitHub
Open Graph Title: DM-only commands not working · Issue #2332 · DSharpPlus/DSharpPlus
X Title: DM-only commands not working · Issue #2332 · DSharpPlus/DSharpPlus
Description: Summary I'm trying to set up a command to only work in DMs: public class MyQuestionsCommand { [Command("myquestions")] [Description("View your submitted questions.")] [DirectMessageUsage(usage: DirectMessageUsage.RequireDMs)] public asyn...
Open Graph Description: Summary I'm trying to set up a command to only work in DMs: public class MyQuestionsCommand { [Command("myquestions")] [Description("View your submitted questions.")] [DirectMessageUsage(usage: Dir...
X Description: Summary I'm trying to set up a command to only work in DMs: public class MyQuestionsCommand { [Command("myquestions")] [Description("View your submitted questions.")] [Direc...
Opengraph URL: https://github.com/DSharpPlus/DSharpPlus/issues/2332
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"DM-only commands not working","articleBody":"### Summary\n\nI'm trying to set up a command to only work in DMs:\n\n```csharp\npublic class MyQuestionsCommand\n{\n [Command(\"myquestions\")]\n [Description(\"View your submitted questions.\")]\n [DirectMessageUsage(usage: DirectMessageUsage.RequireDMs)]\n public async Task MyQuestionsAsync(CommandContext context)\n {\n await context.RespondAsync(\"todo\");\n }\n}\n```\n\nand adding that in `Program.cs` to `builder.UseCommands` under `extension.AddCommands()`.\n\nTwo issues with this (even after restarting bot+client):\n- In the bot's DMs, the command does not show up when I type `/`\n- In any server, the command shows up, when it should not (it does error when someone uses it, but it should not appear in the first place)\n\nSince my bot is open source you can find the code here: \u003chttps://github.com/Ascyt/open-qotd/tree/28-ability-to-view-personal-questions\u003e (`Program.cs` is found in root and the command is in `/Features/UserCommands/MyQuestions.cs`)\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\n\n### Operating System\n\nWindows 11\n\n### Reproduction Steps\n\n1. Clone https://github.com/Ascyt/open-qotd/tree/28-ability-to-view-personal-questions (make sure it is this branch)\n2. Set `CUSTOMQOTD_TOKEN` environment variable to your bot token\n3. Start the program\n\n### Trace Logs\n\n```log\nOutput when starting the bot:\n\n[2025-06-01 17:24:34 +00:00] [DSharpPlus.DiscordClient] [Info] DSharpPlus; version 5.0.0-nightly-02516+b53b50c9264f1571474e15804806252094dd5251\nBot started\nStarted fetch loop\n[2025-06-01 17:25:17 +00:00] [DSharpPlus.Commands.Processors.BaseCommandProcessor] [Info] Detected changes in slash command records: 0 without changes, 1 added, 14 edited, 0 deleted\n[2025-06-01 17:25:17 +00:00] [DSharpPlus.Commands.Processors.BaseCommandProcessor] [Info] Registered 15 top-level slash commands, 35 total slash commands.\n\noutput when not having changed anything and re-running:\n\n[2025-06-01 17:52:22 +00:00] [DSharpPlus.DiscordClient] [Info] DSharpPlus; version 5.0.0-nightly-02516+b53b50c9264f1571474e15804806252094dd5251\n[2025-06-01 17:52:22 +00:00] [DSharpPlus.Commands.Processors.BaseCommandProcessor] [Info] No application command changes detected.\n[2025-06-01 17:52:22 +00:00] [DSharpPlus.Commands.Processors.BaseCommandProcessor] [Info] Registered 15 top-level slash commands, 35 total slash commands.\n```\n\n### Exceptions or other error messages\n\n```txt\nWhen run in a guild, it gives the error `ChecksFailedException: Checks for myquestions failed.`, which, as I said it's better to get an error than have it work in guilds (it should not work in guilds), but it'd be better for the command not to show up at all.\n```\n\n### Anything else you'd like to share\n\nI have not tried to manually remove the slash commands or create another bot altogether and run the bot again (the first implementation was with an outdated nightly version) - I don't know how to clear those and don't really want to reset the token or have to create a new one.","author":{"url":"https://github.com/Ascyt","@type":"Person","name":"Ascyt"},"datePublished":"2025-06-01T18:27:32.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/2332/DSharpPlus/issues/2332"}
| 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:cd214742-61a7-2cb4-7248-4c21a5b9ec38 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E432:BA804:24CEA0C:3194AF5:698DAA28 |
| html-safe-nonce | afee91f572f21a8d1f15bd268cb614be7a43c20d6243af212774d3e40f4d1dba |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFNDMyOkJBODA0OjI0Q0VBMEM6MzE5NEFGNTo2OThEQUEyOCIsInZpc2l0b3JfaWQiOiIzNTEyMTc4Mjg3OTU3NjE3MTkyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 12dcae06c41fe1a5417753b9166e129aa038760c1cb8f08ab675ab97caa3fc17 |
| hovercard-subject-tag | issue:3107644336 |
| 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/2332/issue_layout |
| twitter:image | https://opengraph.githubassets.com/fed3a620f11c59de17c2c003f319ed48b6417f2a6753157ad9488d7ca2aff732/DSharpPlus/DSharpPlus/issues/2332 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/fed3a620f11c59de17c2c003f319ed48b6417f2a6753157ad9488d7ca2aff732/DSharpPlus/DSharpPlus/issues/2332 |
| og:image:alt | Summary I'm trying to set up a command to only work in DMs: public class MyQuestionsCommand { [Command("myquestions")] [Description("View your submitted questions.")] [DirectMessageUsage(usage: Dir... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Ascyt |
| hostname | github.com |
| expected-hostname | github.com |
| None | 8c7947c0c592efeab6162b9909ad11fa43bff8b0cb5ff43273dc25e41979d43e |
| 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 | b22a9fbf4dea601ec149a9e5362e0558df79b505 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width