我正在使用Rapptz library实现一个不和谐机器人,我面临着多线程的问题。这可能很容易,我肯定错过了一些东西!
我查看一个抽搐频道列表,看看它们是否已启动,如果其中一个是,我希望机器人在特定频道中发送消息。为此,我运行一个线程,每隔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
我认为事件循环有一个问题,但我完全迷失了。当我读到有关异步编程的文章时,它看起来很清楚,但我无法适应我的问题......
该函数需要以等待开始才能使用异步