对于命令,我试图将每个成员从特定类别内的每个通道移动到另一个通道,并删除该类别中的所有通道。我已经测试了代码,并且所有工作都与channel.members
部分分开。每次我运行命令时,print(channel.members)
返回一个空列表[]
。知道我在做什么错吗?
我知道获取公会ID会阻止此操作,但是我在代码中的任何地方都没有这样做。
#Delete all channels in Ongoing Matches
@client.command()
async def comm(ctx):
general = discord.utils.get(ctx.guild.channels, name='Vibing')
category = discord.utils.get(ctx.guild.categories, name='Ongoing Matches')
channels = category.channels
for channel in channels:
print(channel.members)
for member in channel.members:
print(member)
await member.move_to(general)
await channel.delete()
答案 0 :(得分:0)
这都是关于 discord.Intents() 前往您的开发者门户 > 您的项目 > Bot 并打开“SERVER MEMBERS INTENT”。然后在您的项目中使用
将意图添加到您的机器人# create intents before creating bot/client instance
intents = discord.Intents().default()
intents.members = True
# create the instance
client = discord.Client(intents=intents)
如果您使用的是 discord.ext.commands.Bot,过程类似,只需将 intents=intents 添加到构造函数即可。