无报错但on_member_join失效的Python Discord机器人求助
Discord新成员欢迎机器人功能失效求助
问题概述
- 开发目标:使用Python开发Discord机器人,实现新成员加入服务器时自动发送欢迎消息的功能。
- 已尝试操作:参考多个教程尝试多种实现方案,功能始终无法正常运行。
故障现象
- 代码运行无任何报错提示
- 用于可用性测试的
on_message(message)回调函数可正常运行:向频道发送“hi”,机器人会回复“Hello” - 负责欢迎逻辑的
on_member_join回调函数始终无法触发
已完成排查项
- 已在Discord开发者门户启用成员意图(member intents)
- 已为机器人分配服务器管理员权限
- 上述操作完成后问题仍未解决
后续编辑内容
编辑1:按评论建议删除代码中重复的
client定义,机器人仍无法发送欢迎消息,on_message功能保持正常。
编辑2:问题已解决,故障原因有二:代码中重复定义client,以及存在拼写错误。
附相关代码
import discord from discord.ext import commands token = "此处填写你的机器人Token" intents = discord.Intents.default() intents.members = True client = discord.Client(intents=intents) @client.event async def on_ready(): print("机器人已就绪") # 收到hi就回复hello(用于测试机器人是否正常运行) @client.event async def on_message(message): if message.content == 'hi': await message.channel.send('Hello') # 核心欢迎逻辑 @client.event async def on_member_join(member): guild = client.get_guild(此处填写你的服务器ID) # 服务器ID channel = guild.get_channel(此处填写你的目标频道ID) # 目标频道ID # 修改下一行内容可自定义欢迎消息 await channel.send(f'欢迎加入服务器 {member.mention}!') client.run(token)
内容的提问来源于stack exchange,提问作者Vishnu Vijay
相关产品推荐
相关产品推荐

