Discord Python Bot的on_message事件无响应问题求助
关于Discord Python Bot无法响应消息的问题及解决方法
问题描述
我正在学习Discord Python API,参考多篇教程并查阅了几乎全部文档,代码写法与其他无问题的开发者一致,但遇到以下情况:
- 已在Discord后台开启Bot的所有权限
- 在OAuth2区域设置了管理员权限
- Python程序能成功执行
on_ready函数并在终端打印登录信息 - 之后程序便处于闲置状态,直到强制关闭
- 在运行程序后于Discord服务器发送消息,但无任何反应
我的需求是:当Discord服务器发送新消息时,将消息内容打印到终端。想确认是Discord平台设置步骤遗漏,还是代码问题。
附上代码
import discord client = discord.Client(intents=discord.Intents.all()) @client.event async def on_ready(): print('Logged in as {0.user}'.format(client)) @client.event async def on_message(message): print(message.content) client.run('BOT TOKEN') # 我的代码中使用了真实的Bot令牌
解决方法
问题已解决,错误根源是添加Bot到服务器的方式不正确,未使用URL Generator方法完成Bot邀请。正确操作步骤如下:
- 进入Discord开发者后台的URL Generator页面
- 勾选“bot”选项
- 勾选“管理员”权限
- 生成并复制邀请链接
- 访问该链接,选择目标服务器完成Bot邀请
内容的提问来源于stack exchange,提问作者Austin Dobbins
相关产品推荐
相关产品推荐

