如何为不和谐机器人调用异步函数

Posted

技术标签:

【中文标题】如何为不和谐机器人调用异步函数【英文标题】:How to call async function for discord bot 【发布时间】:2019-04-07 12:27:26 【问题描述】:

我有一个(工作的)命令,它从我的硬盘读取一个文件并通过我的不和谐机器人播放它:

@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")

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

【问题讨论】:

你可以使用Command.invoke,这里讨论过:***.com/questions/50204867/… 【参考方案1】:

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

@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)

【讨论】:

以上是关于如何为不和谐机器人调用异步函数的主要内容,如果未能解决你的问题,请参考以下文章

我如何为不和谐的机器人 python 3.6 定义 MissingPermissions

你如何为你的不和谐机器人创建一个永久的 oauth 邀请?

如何为不和谐的 js 解决快照(50/50 的机会踢成员)

如何为不和谐服务器制作“!踢”命令消息?

如何为多个用户存储信息

试图制作一个命令页面来列出我的不和谐机器人上的所有命令,但不知道如何[关闭]