【问题标题】:How to get all members of a voice-channel with discord.py如何使用 discord.py 获取语音频道的所有成员
【发布时间】:2021-07-21 13:43:33
【问题描述】:

我有问题,如果我将所有成员作为特定语音频道的 Meber 的对象。我只得到一个空列表。

这是我的代码:

@bot.command(name='random')
async def nine_nine(ctx, amount_of_groups: int):
    this_guild = ctx.guild
    sender = ctx.message.author
    #Es wird geschaut, in welchem Channel sich der Schreiber befindet
    try:
        voice_channel = ctx.message.author.voice.channel
        print(voice_channel)
    except AttributeError:
        await ctx.send("Du bist in keinem Voice-Channel")
        return
    #Alle anderen Mitglieder aus dem Kanal werden ermittelt und in eine Liste geschrieben
    this_category = voice_channel.category

    member_list = voice_channel.members # <-- This only returns an empty List

    print(member_list)
    print(this_category)
    #Die Mitglieder werden gemischt
    random.shuffle(member_list)
    #Die Mitglieder werden in gleichgroße Gruppen aufgeteilt
    avg = len(member_list) / float(amount_of_groups)
    out = []
    last = 0.0

    while last < len(member_list):
        out.append(member_list[int(last):int(last + avg)])
        last += avg
    print(out)
    for group in range(0, amount_of_groups):
        new_channel = await this_guild.create_voice_channel(name=f'Gruppe{group+1}', category=this_category)
        for member in range(len(out[group])):
            try:
                await out[group][member].move_to(new_channel)
            except:
                print("F")
            print(out[group][member])

我该如何解决这个问题?

【问题讨论】:

  • member_list = voice_channel.members您是否已确认您在 Discord Developer API 页面上启用了会员意图(您最初获得机器人令牌的位置)?

标签: python discord.py


【解决方案1】:

您是否启用了意图?如果没有,请访问 discord.com/developers/dashboard,选择您的机器人并启用意图。之后在您的代码中启用意图:

intents = discord.Intents.default()
intents.Member = True
bot = commands.Bot(command_prefix="yourprefix", intents=intents)

【讨论】:

    【解决方案2】:

    你必须像这样在bot = ... 之前启用Intents.members

    intents = discord.Intents.default()
    intents.members = True
    

    并更新bot = .. 以包含参数intents=intents

    您还必须在您的应用程序站点中启用不和谐的成员意图(go here,单击您的机器人,单击侧边栏上的bot 并启用它们。):

    参考资料:

    discord.Intents.members

    【讨论】:

      猜你喜欢
      • 2018-10-09
      • 1970-01-01
      • 2021-10-04
      • 2020-12-21
      • 2021-06-06
      • 2021-01-07
      • 2018-09-01
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多