Closed Nyfos closed 2 years ago
429 is an HTTP status code for ratelimits.
Oh, I'm sorry.. I get a 400 Bad Request
error... 😅
{
"code": "APPLICATION_COMMAND_OPTIONS_NAME_INVALID",
"message": "Option name toggle is already used in these options"
}
No idea @ffl0w ?
This command setup seem to work for me at least, this is my payload:
[
{
"name_localizations": {},
"default_permission": true,
"name": "xp",
"options": [
{
"name_localizations": {},
"name": "toggle",
"options": [
{
"name_localizations": {},
"autocomplete": false,
"name": "toggle",
"description": "No description",
"description_localizations": {},
"type": 3,
"required": true
}
],
"description": "No description",
"description_localizations": {},
"type": 1
}
],
"description": "No description (base name)",
"description_localizations": {},
"type": 1
},
{
"name_localizations": {},
"default_permission": true,
"name": "logs",
"options": [
{
"name_localizations": {},
"name": "toggleall",
"options": [
{
"name_localizations": {},
"autocomplete": false,
"name": "toggle",
"description": "No description",
"description_localizations": {},
"type": 3,
"required": true
}
],
"description": "No description",
"description_localizations": {},
"type": 1
},
{
"name_localizations": {},
"name": "toggle",
"options": [
{
"name_localizations": {},
"autocomplete": false,
"name": "toggle",
"description": "No description",
"description_localizations": {},
"type": 3,
"required": true
}
],
"description": "No description",
"description_localizations": {},
"type": 1
}
],
"description": "No description (base name)",
"description_localizations": {},
"type": 1
}
]
Uh, really? That's strange, let me try.. Thank you for your response.
Mh.. I made a request by only keeping essential data like you, and it seems to be working... (I apologize for the displaying of the code...)
[
{"name":"logs","name_localizations":{},"description":"Permet de gérer le système de logs.","description_localizations":{},"options":[
{"name":"channel","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"salon","name_localizations":{},"description":"Le salon où envoyer les logs.","description_localizations":{},"type":7,"channel_types":[0,5],"required":true}],"description":"Permet de choisir le salon où envoyer les messages du système de logs."},
{"name":"config","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"event","name_localizations":{},"description":"L'évènement à configurer.","description_localizations":{},"type":3,"required":true,"choices":[{"name":"Création de salon","value":"channel_create"},{"name":"Modification de salon","value":"channel_update"},{"name":"Suppression de salon","value":"channel_delete"},{"name":"Création de rôle","value":"role_create"},{"name":"Modification de rôle","value":"role_update"},{"name":"Suppression de rôle","value":"role_delete"},{"name":"Création d'émoji","value":"emoji_create"},{"name":"Modification d'émoji","value":"emoji_update"},{"name":"Suppression d'émoji","value":"emoji_delete"},{"name":"Arrivée de membre","value":"member_add"},{"name":"Modification de membre","value":"member_update"},{"name":"Départ de membre","value":"member_remove"},{"name":"Édition de message","value":"message_update"},{"name":"Suppression de message","value":"message_delete"},{"name":"Suppression simultanée de plusieurs messages","value":"message_bulk_delete"},{"name":"Suppression de réaction","value":"reaction_remove"},{"name":"Suppression de réaction par un bot","value":"reaction_remove_bot"},{"name":"Suppression de toutes les réactions d'un message","value":"reaction_remove_all"},{"name":"Bannissement de membre","value":"ban"},{"name":"Révocation de bannissement","value":"ban_revoke"},{"name":"Modification du serveur","value":"guild_update"},{"name":"Modification de webhook","value":"webhook_update"},{"name":"Modification d'intégration","value":"integration_update"},{"name":"Création d'invitation","value":"invite_create"},{"name":"Suppression d'invitation","value":"invite_delete"}]},{"name":"toggle","name_localizations":{},"description":"Si l'évènement doit être déclenché ou non.","description_localizations":{},"type":3,"required":true,"choices":[{"name":"Activer","name_localizations":{},"value":"true"},{"name":"Désactiver","name_localizations":{},"value":"false"}]}],"description":"Permet de modifier la configuration du système de logs."},
{"name":"detect","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"type","name_localizations":{},"description":"Les utilisateurs à détecter","description_localizations":{},"type":3,"required":true,"choices":[{"name":"Seulement les utilisateurs humains","name_localizations":{},"value":"only-humans"},{"name":"Seulements les bots","name_localizations":{},"value":"only-bots"},{"name":"Tous les utilisateurs","name_localizations":{},"value":"all-users"}]}],"description":"Permet de choisir les utilisateurs détectés par le système de logs."},
{"name":"info","type":1,"name_localizations":{},"description_localizations":{},"description":"Permet d'obtenir la configuration actuelle du système de logs."},
{"name":"toggle","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"toggle","name_localizations":{},"description":"Si le système de logs doit être activé.","description_localizations":{},"type":3,"required":true,"choices":[{"name":"Activer","name_localizations":{},"value":"true"},{"name":"Désactiver","name_localizations":{},"value":"false"}]}],"description":"Permet d'activer ou de désactiver le système de logs."},
{"name":"toggleall","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"toggle","name_localizations":{},"description":"Si les évènements doivent être activés.","description_localizations":{},"type":3,"required":true,"choices":[{"name":"Activer tous les évènements","name_localizations":{},"value":"true"},{"name":"Désactiver tous les évènements","name_localizations":{},"value":"false"}]}],"description":"Permet de modifier tous les évènements en même temps."}
],"type":1},
{"name":"xp","name_localizations":{},"description":"Permet de gérer le système d'expérience du serveur.","description_localizations":{},"options":[
{"name":"add","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"utilisateur","name_localizations":{},"description":"L'utilisateur à qui vous souhaitez donner de l'xp.","description_localizations":{},"type":6,"required":true},{"name":"quantité","name_localizations":{},"description":"La quantité d'xp à donner à l'utilisateur.","description_localizations":{},"type":4,"min_value":1,"required":true}],"description":"Permet d'ajouter de l'xp à un utilisateur."},
{"name":"remove","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"utilisateur","name_localizations":{},"description":"L'utilisateur à qui vous souhaitez retirer de l'xp.","description_localizations":{},"type":6,"required":true},{"name":"quantité","name_localizations":{},"description":"La quantité d'xp à retirer à l'utilisateur.","description_localizations":{},"type":4,"min_value":1,"required":true}],"description":"Permet de retirer de l'xp à un utilisateur."},
{"name":"toggle","type":1,"options":[{"name":"toggle","description":"Si le système d'xp doit être activé.","type":3,"required":true,"choices":[{"name":"Activer","value":"true"},{"name":"Désactiver","value":"false"}]}],"description":"Permet d'activer ou de désactiver le système d'xp."}
],"type":1}
]
I'm going to make more checks.
Here are the checks I made:
Well, it's working... I really don't understand.. I'll check the Discord API Changelog, it was probably a bug that is now patched. If not, I think it's a bug coming from my cache or something else on my computer. It's very strange.
Thank you so much for your response @freya022 !
Ok. I'm sorry for all of that. It seems I made a mistake in my code. The error came back, so I removed all of the commands one by one, until I was sending only the xp command. Then, I checked the data sent, and saw that:
[
{"name":"xp","name_localizations":{},"description":"Permet de gérer le système d'expérience du serveur.","description_localizations":{},"options":[
{"name":"toggle","type":1,"name_localizations":{},"description_localizations":{},"options":[
{"name":"toggle","name_localizations":{},"description":"Si le système de logs doit être activé.","description_localizations":{},"type":3,"required":true,"choices":[
{"name":"Activer","name_localizations":{},"value":"true"},
{"name":"Désactiver","name_localizations":{},"value":"false"}
]}
],"description":"Permet d'activer ou de désactiver le système de logs."},
{"name":"add","type":1,"name_localizations":{},"description_localizations":{},"options":[
{"name":"utilisateur","name_localizations":{},"description":"L'utilisateur à qui vous souhaitez donner de l'xp.","description_localizations":{},"type":6,"required":true},
{"name":"quantité","name_localizations":{},"description":"La quantité d'xp à donner à l'utilisateur.","description_localizations":{},"type":4,"min_value":1,"required":true}
],"description":"Permet d'ajouter de l'xp à un utilisateur."},
{"name":"remove","type":1,"name_localizations":{},"description_localizations":{},"options":[
{"name":"utilisateur","name_localizations":{},"description":"L'utilisateur à qui vous souhaitez retirer de l'xp.","description_localizations":{},"type":6,"required":true},
{"name":"quantité","name_localizations":{},"description":"La quantité d'xp à retirer à l'utilisateur.","description_localizations":{},"type":4,"min_value":1,"required":true}
],"description":"Permet de retirer de l'xp à un utilisateur."},
{"name":"toggle","type":1,"options":[
{"name":"toggle","description":"Si le système d'xp doit être activé.","type":3,"required":true,"choices":[
{"name":"Activer","value":"true"},{"name":"Désactiver","value":"false"}
]}
],"description":"Permet d'activer ou de désactiver le système d'xp."}
]}
]
That's so horrible to find a such bug, above all when you code since as long as me.. I apologize for the time taken. Have a nice evening!
Description
When publishing my commands, Discord is replying with a
429 Bad Request
400 Bad Request
error and says that "command name toggle got already used is this options". So I can't publish/logs toggle
and/xp toggle
commands. Renaming one of those two commands likelogs enable
will make things work correctly.Steps to Reproduce
Just make a put request to
https://discord.com/api/v9/applications/<clientId>/commands
with the following JSON* plus headers that only contains an Authorization with the bot token.Expected Behavior
I could be able to create two different commands with a same subcommand, like
/do that
and/make that
.Current Behavior
I need to rename one of the two subcommands to publish my commands. Currently, I'm replacing
/logs toggle
with/logs enable
.Screenshots/Videos
No response
Client and System Information
Package version
13.6.0
Node.js version
16.14.0
Operating system
Windows
Partials configured
No Partials
Gateway intents I am subscribing to
Guilds, GuildMembers, GuildBans, GuildEmojisAndStickers, GuildIntegrations, GuildWebhooks, GuildInvites, GuildPresences, GuildMessages, GuildMessageReactions