Nextcord 斜杠命令

Nextcord Slash Commands

我听说 nextcord 现在有斜杠命令了!太好了,这就是我想将它们添加到我的机器人中的原因。我已经看过 YouTube 教程,但由于某种原因,它不起作用。这是我的 main.py 文件

from IMPORTANT.keep_alive import keep_alive
import os

try:
    from nextcord.ext import commands
    from nextcord import Interaction
    import nextcord
    
except ImportError:
    os.system("pip install -U nextcord")
    from nextcord.ext import commands
    from nextcord import Interaction
    import nextcord

intents = nextcord.Intents().all()
bot = commands.Bot(command_prefix="+", intents=intents)
bot.remove_command("help")
server = 896366068417830933

for file in os.listdir("./cogs/commands"):
    if file.endswith(".py"): 
        name = file[:-3]
        bot.load_extension(f"cogs.commands.{name}") 

for file in os.listdir("./cogs/events"):
    if file.endswith(".py"): 
        name = file[:-3]
        bot.load_extension(f"cogs.events.{name}") 
    
# slash command test
@bot.slash_command(name="test", description="commande de test", guild_ids=[server])
async def test(interaction: Interaction):
    await interaction.response.send_message("les slashs commands fonctionnent")

keep_alive()
bot.run(os.getenv("TOKEN"))

编辑:不知道它是否改变了什么但我使用 repl.it

我试过你的代码,它对我有用。 也许这会解决它

  1. 如果您正在使用事件“on_interaction

    if interaction.type == InteractionType.application_command:
    await self.client.process_application_commands(interaction)
    
  2. 使用以下权限重新邀请机器人

    applications.commands

问题可能是因为,通过查看您的代码,您将命令名称设为 "commande de test" 并且斜杠命令不会那样工作,除非您使用所谓的 sub-commands,所以我会说只是调用命令 test 或其他东西。

  1. 您只说“不起作用”- 这是一个非常广泛的问题。
  2. 您是否已使用 OAuth2 applications.commands 授权您的机器人(邀请 link,这类似于 bot 范围)。任何用户还需要重新授权 - 无需踢机器人,只需重复使用 link