#4. discord.py中的slash命令
#初学者 #python #discord

嘿研究员!
我回来了另一篇文章,这次我们将学习:

1.Slash命令

  • 什么是斜线命令?

    当您在Discord聊天中键入(/)(如果您有使用应用程序命令perms中的perms)时,您可能会看到一些建议。这些是斜线命令。它有助于与机器人互动。 Slash命令获得了诸如AutoComplete之类的功能。

  • 如何创建斜线命令?

    要创建一个斜杠命令,我们将创建一个交互。
    现在什么是Interacton?好吧,我们将讨论它.....

Slash Commands


2.创建斜线命令:

  1. 首先,我们将使用装饰器:
@bot.tree.command(name="mannu",description="Mannu is a good boy")

2.在此装饰器中,我们将像往常一样创建我们的异步防守:

async def slash_command(interaction:discord.Interaction):
    # Your Logic Goes Here...

3.在此def中,我们将写一个语法以发送消息:

await interaction.response.send_message("Hello World!")
  • 这是完整的代码,以防万一:
@bot.tree.command(name="mannu",description="Mannu is a good boy")
async def slash_command(interaction:discord.Interaction):
    await interaction.response.send_message("Hello World!")

现在让我们尝试了解我们在这里所做的事情:

step 1中,我们使用了装饰器来创建我们的命令,在该装饰器中,我提供了我命令的名称和描述。

step 2中,我创建了一个异步def,在此异步def中,有param互动是discord.staction。它的工作与我们在第一个.hello命令中使用的ctx相同。我们将使用它来控制我们的机器人。

现在创建我们的交互作用,我们创建逻辑

step 3中,我等待着一个syntex发送该互动的响应。

在运行代码之前,我们需要确保我们的命令与bot同步,因此我们将在on_ready事件中添加以下语法:

await bot.tree.sync()

这是完整的代码

@bot.event
async def on_ready():
    await bot.tree.sync()

现在让我们运行代码,看看是否有效...

python main.py

现在输入(/)我们可以看到我们的slash命令

Slash Command

Slash Command output

Well I had to change the bot coz my bot was giving me error coz I accidently used discord in my bot username which isn't allowed.
I'll fix it in next post

因此,这就是我们创建slash命令的方式。希望它对您有帮助。


github:https://github.com/MannuVilasara/discord.py-tutorial
折磨:https://discordpy.readthedocs.io/
不和谐:https://discord.gg/pvvJvZU6nS


接下来:

  • 错误处理。
  • 接受用户输入。