You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Discord.py开发机器人报错RuntimeError: Event loop is closed 如何解决?

核心问题说明

你报错的根本原因是discord.errors.LoginFailure: Improper token has been passed,即传入的机器人登录凭证无效,触发401未授权错误。末尾的RuntimeError: Event loop is closed是登录失败后程序异常退出产生的次生报错,解决凭证问题后会自动消失。

修复步骤
  • 优先重置并重新复制token:你贴出的错误日志已经泄露了你当前的机器人token KiX-TtMr8ToGsitsv6GvD8bfc9eA7_G3,所有人都可以通过这个token操控你的机器人,请立刻前往Discord开发者后台的「Bot」页面,点击「Reset Token」生成新的token,完整复制全部字符,不要遗漏字符也不要多复制前后的空格、引号等多余内容。注意不要混淆机器人token和应用的CLIENT ID、CLIENT SECRET,后两者不能用于机器人登录。
  • 适配discord.py版本代码:你复制的是discord.py v1.x版本的旧代码,如果你当前安装的是v2.x版本,需要修改初始化代码开启消息意图权限,参考修改后的完整代码如下:
import discord
import os

# 新增意图配置
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print('We have logged in as {0.user}'.format(client))

@client.event
async def on_message(message):
    if message.author == client.user:
        return

    if message.content.startswith('$hello'):
        await message.channel.send('Hello!')

client.run("替换为你新生成的token")
  • 开启后台权限开关:修改代码后回到Discord开发者后台的「Bot」页面,下滑找到「Privileged Gateway Intents」板块,打开「Message Content Intent」开关,否则机器人无法读取频道内的消息内容。

内容的提问来源于stack exchange,提问作者PokemasterLink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:24:05