不和谐.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 |斜线命令不起作用的主要内容,如果未能解决你的问题,请参考以下文章