【问题标题】:Discord.py: How to fix "event loop is closed"Discord.py:如何修复“事件循环已关闭”
【发布时间】:2020-10-02 00:47:53
【问题描述】:

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

  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]

代码:

import discord
from discord.ext import commands

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

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

client.run(token)

是什么导致了这个错误,我该如何解决这个问题?

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

【问题讨论】:

  • 你确定授权成功了吗?
  • 我相信是的,我没有看到任何关于它未经授权的信息
  • 你在 windows 上运行 python 3.8+ 吗?

标签: python python-3.x discord discord.py


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    这是因为你没有设置“token”变量,在你的最后一行你使用了它但它没有被定义。

    或者也许你设置了它但没有在这里写?

    【讨论】:

      【解决方案3】:

      当我遇到同样的问题时,尝试在它为我工作的开发者门户上启用意图

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-21
        • 1970-01-01
        • 2021-04-27
        • 1970-01-01
        • 1970-01-01
        • 2020-08-15
        • 1970-01-01
        相关资源
        最近更新 更多