【问题标题】:my bot gives everyone role when it should only give the user that trigger it a role当我的机器人应该只给触发它的用户一个角色时,它会给每个人一个角色
【发布时间】:2023-05-12 01:26:01
【问题描述】:

我想创建一个验证系统,当我 dm 机器人时会触发此系统,但它为每个服务器中的每个人提供了角色我只希望触发它的用户获得我认为for user in guild.members: 的角色正在做的事情

user = message.author
guild = client.guilds[0]
Verified = discord.utils.get(guild.roles, name="Verified")

for user in guild.members:
  await user.add_roles(Verified)
message.reply(f'You are verified in {guild}')

【问题讨论】:

  • 嗯,你正在遍历每个公会成员,你认为会发生什么?

标签: python api discord discord.py


【解决方案1】:

for 循环的作用是遍历公会中的每个用户。这就是为什么它将角色授予所有人。

相反,由于您已经拥有作者(来自 user = message.author),您可以删除 for 循环并简单地授予他们角色:

await user.add_roles(Verified)

【讨论】:

    最近更新 更多