Discord.py Bot - ' if '命令和' async def '的区别是什么?



我看到许多开发人员用两种方式为Discord编写python机器人。

有些人使用:

if message.content.startswith("command"):
await message.channel.send("text")

和其他人(大多数)使用这种方法:

@client.command()
async def command(ctx):
response = "Text"
await ctx.send(response)

两者之间的区别是什么,哪种方法更好/更有效?

使用@client.command()async def意味着它们是coroutine内部的可调用函数,而if,我认为,将需要在某种循环中嵌套。

当你client.RUN(TOKEN)启动你的bot时,Discord模块启动一个asyncio coroutine。它使用asyncawait来允许异步任务管理,请参阅Python文档中的协程和Discord.py API参考文件中的wait_for事件

相关内容

  • 没有找到相关文章

最新更新