【问题标题】:Looping through guild members with discord.py使用 discord.py 循环访问公会成员
【发布时间】:2021-05-10 18:17:39
【问题描述】:

我一直在尝试制作一个机器人,让我的小公会(

目前会输出:

02/06/21 17:09:23: Successfully gave john_doe#1234 DJ role. (1 users!).
02/06/21 17:09:23: user john_doe#2234 gave all (1) users DJ role. (placeholder1).

有什么建议吗?

这是我正在处理的代码部分:

    if message.content.startswith(prefix + "Give DJ ALL"):
        count = 0

        for member in message.guild.members:
            count = count + 1
            await member.add_roles(discord.utils.get(message.guild.roles, name = "DJ"))
            print(str(datetime.datetime.now().strftime("%x %X")) + ": " + "Successfully gave " + str(member) + " DJ role. (" + str(count) + " users!).")


        await message.channel.send("Successfully gave " + str(count) + " users DJ!")
        print(str(datetime.datetime.now().strftime("%x %X")) + ": " + "user " + str(message.author) + " gave all ("+ str(count) + ") users DJ role. (" + str(message.guild.name) + ").")

编辑:是的,我在网站上的机器人设置中启用了意图 除此之外:

async def on_ready():
    intents = discord.Intents.default()
    intents.presences = True
    intents.members = True

【问题讨论】:

  • 你启用intents.members了吗?
  • 是的,我已在我的不和谐开发门户机器人设置中启用它。在这里:``` @client.event async def on_ready(): intents = discord.Intents.default() intents.presences = True intents.members = True ``
  • 你不要那样启用它们,你应该在构造函数中传递意图,而不是在事件中
  • 谢谢。我现在已经解决了这个问题。

标签: python discord discord.py


【解决方案1】:

感谢 Łukasz Kwieciński,使用正确的语法修复。

代码在这里:

client = discord.Client(intents = discord.Intents.all())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 2019-12-29
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2021-10-11
    • 2022-01-26
    相关资源
    最近更新 更多