Discord机器人连接正常但成员加入时无法发送欢迎消息求助
问题解决:Discord机器人无法发送欢迎消息
你的问题核心是Discord Intents权限未正确配置,Discord API从v2版本开始,必须明确启用特定网关意图才能触发成员加入事件,同时还要在开发者后台开启对应特权意图。
解决步骤
1. 修改代码中的Intents设置
当前代码仅初始化了空的Intents对象,未启用成员相关意图,导致on_member_join事件根本不会触发。修改后的代码如下:
import discord token="my token" GUILD="server name" # 初始化基础Intents并启用成员意图 intents = discord.Intents.default() intents.members = True # 部分版本需要启用消息内容意图才能发送消息 intents.message_content = True client = discord.Client(intents=intents) @client.event async def on_ready(): print(f'{client.user.name} has connected to Discord!') @client.event async def on_member_join(member): await member.create_dm() await member.dm_channel.send( f'Hi {member.name}, welcome to my Discord server!' ) client.run(token)
2. 在Discord开发者后台开启特权意图
仅修改代码还不够,需登录Discord开发者后台,找到你的机器人应用:
- 进入「Bot」页面
- 下滑到「Privileged Gateway Intents」区域
- 开启「Server Members Intent」选项
- 保存设置后重启机器人
补充检查项
- 若仍无法发送DM,确认机器人有发送消息的权限,且用户未关闭陌生人DM功能
- 确保discord.py版本为最新,可执行
pip install --upgrade discord.py升级
内容的提问来源于stack exchange,提问作者paco
相关产品推荐
相关产品推荐

