Discord.py:如何修复“事件循环已关闭”

yun*_*der 8 python python-3.x discord discord.py

我是编程新手。我试图让我的不和谐机器人打开命令提示符以确认它可以运行,但我收到此错误:

  File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 116, in __del__
    self.close()
  File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\proactor_events.py", line 108, in close
    self._loop.call_soon(self._call_connection_lost, None)
  File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 719, in call_soon
    self._check_closed()
  File "C:\Users\---\AppData\Local\Programs\Python\Python38-32\lib\asyncio\base_events.py", line 508, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
[Finished in 0.871s]
Run Code Online (Sandbox Code Playgroud)

代码:

import discord
from discord.ext import commands

client=commands.Bot(command_prefix = '.')

@client.event
async def on_ready():
    print('ok')

client.run(token)
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么,我该如何解决?

编辑:经过一些测试,我相信“client.run(token)”是导致“事件循环关闭”的原因,不知道为什么。

Fil*_*leX 2

我猜你的机器人没有function,所以它只是启动然后再次关闭,但我不确定。您必须通过例如添加 来测试这一点async def on_message(message)

通常Event loop is closed“错误”是由client.close()或引起的client.logout()