Bot 未检测到服务器成员 (Discord.py)
Posted
技术标签:
【中文标题】Bot 未检测到服务器成员 (Discord.py)【英文标题】:Bot not detecting server members (Discord.py) 【发布时间】:2021-09-03 09:26:01 【问题描述】:我有一个命令,我为服务器选择一个随机成员,但由于某种原因,每当我运行它时,它只提到它自己.. 好像它无法检测到服务器中除了它自己之外还有其他成员.这是代码: 好的
client = commands.Bot(command_prefix=['%', "v", "V"],
case_insensitive=True,
help_command=None)
intents = discord.Intents().all()
intents = True
@client.event
async def on_ready():
print('Bot is Online! ;)')
servers = len(client.guilds)
members = 0
for guild in client.guilds:
members += guild.member_count - 1
await client.change_presence(activity=discord.Activity(
type=discord.ActivityType.watching,
name=f'servers servers and members members | %help'))
@client.command()
async def choosemem(ctx):
guild = ctx.guild
await ctx.send(f"random.choice(guild.members).mention has been chosen")
这是完整的代码,包括状态和意图。
【问题讨论】:
确保在代码和开发者门户中都启用了成员意图。 看看:discordpy.readthedocs.io/en/latest/… 这能回答你的问题吗? getting 'NoneType' object has no attribute 'send' 不,我检查了开发人员门户并将意图代码添加到我的机器人中,但它仍然没有检测到任何其他服务器成员。 请发给你完整的代码和客户端定义 【参考方案1】:您还需要在 client= commands.Bot 中添加意图值
intents = discord.Intents().all()
client = commands.Bot(command_prefix=['%', "v", "V"],
case_insensitive=True,
help_command=None,
intents = intents)
【讨论】:
是的,我做到了。它仍在返回机器人本身。编辑:我回到开发门户并启用了所有意图。现在可以了,谢谢。如何将此问题标记为已回答?以上是关于Bot 未检测到服务器成员 (Discord.py)的主要内容,如果未能解决你的问题,请参考以下文章
数据未在 github 上为 discord.py bot 保存
如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件
discord.py bot:on_message 检测机器人等待发送()消息
discord py,ctx.guild.members,只返回bot