不和谐.py |斜线命令不起作用

Posted

技术标签:

【中文标题】不和谐.py |斜线命令不起作用【英文标题】:Discord.py | Slash commands aren’t working 【发布时间】:2021-09-27 14:40:19 【问题描述】:

我正在尝试让我的 discord 机器人(使用 discord.py)支持如图所示的斜线命令。

我已经安装了discord-py-slash-command,将代码导入from discord-py-slash-command import SlashCommands,并使用application.commands邀请我的机器人。我有这个代码显示。 (我正在尝试在 ping 命令中添加斜线)

import discord
from discord.ext import Commands
from discord-py-slash-command import SlashCommands

client = commands.Bot(commands_prefix=“.”)

@client.commands(description=“Ping”)
async def ping(ctx):
     await ctx.send(“Pong!”)

client.run(“MY_TOKEN”)

我也试过@client.commands.slash

我是这个斜线的新手。帮忙?

【问题讨论】:

【参考方案1】:

Quickstart 页面包含有关如何创建斜杠命令的示例代码。

import discord
from discord_slash import SlashCommand

client = discord.Client(intents=discord.Intents.all())
slash = SlashCommand(client, sync_commands=True) # Declares slash commands through the client.

guild_ids = [1234567890] # Put your server IDs in this array.

@slash.slash(name="ping", guild_ids=guild_ids)
async def _ping(ctx):
    await ctx.send("Pong!")

client.run("token")

【讨论】:

谢谢它的工作,但为什么我需要一个公会ID? _ping 上的下划线有必要吗? 我对这个库没什么经验,但我的猜测是guild_id 是向公会注册斜杠命令所必需的。您可以尝试删除对它的所有引用以查看它是否仍然有效。对于调用协程_ping,你可能可以毫无问题地删除它。 好的,谢谢。我尝试在没有 guild_id 的情况下执行此操作,并且大部分时间都可以正常工作,但有时它只是错误。 discord-py-interactions ~= 3.0.2 @Justin 中似乎已经修复了需要传递公会 ID 的问题,下划线不是必须的,如果不传递 name= 斜线命令会有与处理它的函数同名。

以上是关于不和谐.py |斜线命令不起作用的主要内容,如果未能解决你的问题,请参考以下文章

不和谐机器人欢迎消息不起作用.py

试图为不和谐制作一个聊天机器人,但它不起作用

为啥我的不和谐机器人命令不起作用

说,send_message 和发送,在@bot 事件中不起作用怎么办?不和谐.py

不和谐机器人的命令不起作用(Python)

Discord.js 斜线命令权限系统不起作用