【发布时间】:2016-01-06 19:36:36
【问题描述】:
我遇到了调用 api.say() 失败的问题。我理解它是一个协程,需要从中产生,但如果我的 print_all 是一个标准函数,它是否有效。
构建这个例子的正确方法是什么?
请假设客户端是不可更改的,只有我的示例中的代码。
from .client import Client
import asyncio
api = Client()
login = ('', '')
def print_all(b=None, m=None):
print("Buffer!", b)
print("Message", m)
if b and m:
if b.name == 'bat':
print("-sending to", b)
api.say(b, "Hey yo."): # <----
def main():
api.login(*login)
api.register_message_callback(print_all)
api.register_state_callback(print_all)
loop = asyncio.get_event_loop()
loop.run_until_complete(api.run())
loop.close()
if __name__ == '__main__':
main()
【问题讨论】:
标签: python python-3.x coroutine python-asyncio