【发布时间】:2017-11-27 08:11:02
【问题描述】:
所以,我正在使用 discord.py 实现一个 Discord Bot,并且我正在尝试根据命令动态调用函数。我能够很好地使用 exec() 测试动态函数调用,但它们似乎与 discord.py 所需的异步调用分崩离析。
所以我想用这个例子做的是调用 hello 函数并通过在聊天中键入 !hello 将 Hello World 打印到不和谐中。
@client.event
async def on_message(message):
call = 'await ' + message.content.lower()[1:] + '(message)'
exec(call)
async def hello(message):
await client.send_message(message.channel, 'Hello World')
不幸的是,这段代码似乎没有做任何事情,我假设是因为 exec() 处理异步调用的方式。任何帮助将不胜感激。
【问题讨论】:
标签: python python-3.x python-3.5 python-asyncio discord.py