如何为Discord Bot调用异步函数

时间:2018-11-03 14:55:45

标签: python python-3.x python-3.6 discord discord.py

我有一个(有效的)命令,该命令从硬盘驱动器中读取文件,并通过我的Discord机器人播放该文件,并显示:

@client.command(pass_context=True)
async def fp(ctx, file):

其中file是列表中项目的名称。由于某些命令被更频繁地使用,我想知道如何针对更常见的命令在另一个函数中引用此函数。类似于:

@client.command(pass_context=True)
async def crab(ctx):
    client.commands.fp(ctx, "crab")

但是经过大量修补后,我无法正常工作。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您可以使用.invoke函数,如Patrick提到的那样

@bot.command()
async def crab(ctx):
    await fp.invoke(ctx, "crab")

或使用.callback函数

@bot.command()
async def fp(ctx, file):
   // do something.

bot.command(name="crab")(fp.callback)