嘿研究员!
我回来了另一篇文章,这次我们将学习:
1.Slash命令
什么是斜线命令?
当您在Discord聊天中键入(/)(如果您有使用应用程序命令perms中的perms)时,您可能会看到一些建议。这些是斜线命令。它有助于与机器人互动。 Slash命令获得了诸如AutoComplete之类的功能。
如何创建斜线命令?
要创建一个斜杠命令,我们将创建一个交互。
现在什么是Interacton?好吧,我们将讨论它.....
2.创建斜线命令:
- 首先,我们将使用装饰器:
@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命令
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
接下来:
- 错误处理。
- 接受用户输入。