I know this question gets asked a lot but I’m really stuck here. I have a Discord bot written in Python and one of my slash commands just won’t appear. I made sure to include both application.commands and bot permissions when I created the invite link. I even tried removing the bot from my server completely and adding it back again with a fresh invite. I also saved my Python script and restarted it multiple times from the command line. I’m not really a coding expert so maybe I’m missing something obvious? The weird thing is that my other two slash commands are working perfectly fine. Has anyone run into this issue before?
check your console when the bot starts - error msgs usually show there but get missed. command names can’t have spaces or special chars since discord’s picky about that. had the same problem, it was coz my command desc was too long, which silently broke registration.
This sounds like a scope issue I’ve dealt with before. When only some slash commands register but others don’t, it’s usually because the broken command has a syntax error or messed up parameter that stops registration. Discord just silently fails to register commands with issues instead of throwing clear errors. I’d check if your command function has the exact same decorator structure as your working commands. Also verify that any command options like choices or parameter types are formatted correctly. Another thing - check if you’re hitting the global command limit or if there’s a naming conflict with an existing command. Try renaming the broken command to something completely different and see if it registers then.
Had this exact problem last month - it was a registration timing issue. Discord’s caching is weird and commands don’t always sync properly even when your code’s right. I fixed it by adding time.sleep(1) between each command registration. Also check your Discord developer portal to see if the command registered there but isn’t showing in the client. Try clearing Discord’s cache with Ctrl+Shift+R. If that doesn’t work, register the problem command as guild-specific first, then switch it back to global once you confirm it works.
This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.