不和谐频道成员仅返回一名成员?

时间:2020-10-13 07:51:45

标签: python discord.py

我正在测试服务器上运行机器人。该频道当前有3个成员(member_count为3),但是它仅返回一个成员。这个成员是Bot。

代码:


import discord
from discord.ext import commands

TOKEN = "<Token>"
CHANNEL_ID = 1234

@client.event
async def on_ready():
    channel = client.get_channel(CHANNEL_ID)
    print(channel.members)

client.run(TOKEN)

输出:

[<Member id=<> name='Bot_name' discriminator='Bot_discriminator' bot=True nick=None guild=<Guild id=<> name="Server_name" shard_id=None chunked=False member_count=3>>]

3 个答案:

答案 0 :(得分:4)

Discord最近更改了其bot API,这可能与您看到的内容有关。

好消息是该修复程序相当容易,您只需要在bot的管理页面中启用“服务器成员意图”即可。跟随the instructions here

答案 1 :(得分:0)

尝试遍历channel.members
例如:

for i in channel.members:
 print(i.id)

答案 2 :(得分:0)

您可以将其放入命令中,该命令将获取该命令所使用的通道中的成员数。

文档:

@bot.command()
async def count(ctx):
    print(len(ctx.channel.members)) # to show how many are there
    for member in ctx.channel.members:
        print(member.name)