我目前正在使用Rapptz library实现一个不和谐机器人,并且我确实错过了一些东西!
我查看一个抽搐 Channels 列表,看看它们是否已启动,如果其中一个是,我希望机器人在特定 Channels 中发送消息 . 为此,我运行一个线程,每隔X秒轮询Twitch API,但我不能让机器人发送消息 . 我是异步编程的新手,所以这可能就是原因 .
这里是我想做的简化示例
class MyThread(Thread):
def __init__(self, client):
Thread.__init__(self)
self.client = client
def run(self):
while True:
self.client.send_message(channel, "Sending message every 10 seconds!")
time.sleep(10)
问题是我知道 send_message
方法是异步的但是:
-
当我将
await
关键字放在send_message
调用之前时,我还需要将run
方法定义为协程 . 当我尝试运行它时,我收到了消息 .RuntimeWarning: coroutine MyThread.run was never awaited
-
当我没有说出来时,我没有收到错误,但邮件仍未发送 .
我认为事件循环有一个问题,但我完全迷失了 . 当我读到有关异步编程的文章时,它看起来很清楚,但我无法适应我的问题......
1 回答
该函数需要以等待开始才能使用异步