Discord Python 异步事件循环已关闭
Posted
技术标签:
【中文标题】Discord Python 异步事件循环已关闭【英文标题】:Discord Python Async Event Loop is Closed 【发布时间】:2020-12-08 16:41:36 【问题描述】:程序结束时出现以下错误。
错误:
RuntimeError: Event loop is closed
代码:
client = discord.Client()
@client.event
async def on_ready():
amount2 = 0
for guild in client.guilds:
for member in guild.members:
members.insert(amount2, member) # or do whatever you wish with the member detail
amount2 = amount2 + 1
await client.close()
client.run(TOKEN)
我该如何解决?
【问题讨论】:
await client.close()
应该是它发生的原因。
否则此代码不会停止。我所需要的只是获取成员并阻止此代码继续前进
你的意思是它不会停止? on_ready 事件仅在机器人启动时运行一次。
我不希望机器人一直运行,我希望它只捕获成员并停止。
【参考方案1】:
我得到了同样的错误,并注意到它在调试时没有发生,所以我在关闭调用之后添加了一个 sleep(1):
await client.close()
time.sleep(1)
【讨论】:
以上是关于Discord Python 异步事件循环已关闭的主要内容,如果未能解决你的问题,请参考以下文章
Discord.py - 重新启动命令错误 - RuntimeError:事件循环已关闭
在异步事件循环中运行 .render()(来自 requests_html)时,我收到错误“此事件循环已在运行”
(Python) Discord 机器人代码返回“RuntimeError:无法关闭正在运行的事件循环”
Python Asyncio 错误:“OSError:[WinError 6] 句柄无效”和“RuntimeError:事件循环已关闭”[重复]