如何在Discord.py中随机ping服务器内的非机器人用户
你只需要在随机选择成员前,先过滤掉成员列表里bot属性为True的机器人账号即可。修改后的代码如下:
import random # 过滤所有机器人账号,仅保留普通用户 normal_users = [member for member in message.guild.members if not member.bot] user = random.choice(normal_users) await message.channel.send('Hello ' + user.mention)
补充注意点:
- 如果运行代码时出现成员列表不全、只能拿到机器人自己的情况,需要先去Discord开发者平台的对应应用后台,在Bot设置页开启服务器成员意图(Server Members Intent),同时初始化Bot实例时要开启对应权限配置,参考配置如下:
import discord intents = discord.Intents.default() intents.members = True client = discord.Client(intents=intents)
内容的提问来源于stack exchange,提问作者wind243
相关产品推荐
相关产品推荐

