Как я могу использовать цикл for для двух ролей в использовании role.members

#discord.py

Вопрос:

Поэтому я пытался создать команду, в которой я мог бы запустить команду «-реестр Аризонских кардиналов» в качестве примера. И то, что он сделает, это вернет список упоминаний и назовет#дискриминаторы участников в роли Аризонских кардиналов. Но проблема, с которой я столкнулся, заключается в том, что, когда я пытаюсь вернуть владельца франшизы, генерального менеджера и главного тренера, упоминаемых пользователем в роли кардиналов, я, похоже, не могу этого сделать, не нарушив цикл for for member in role.members , поскольку Вот фрагмент того, где я пытаюсь устранить неполадки.

 @commands.Command()
  async def roster(ctx, role: discord.Role=None):
    em = discord.Embed(title=f"{role.name}'s Current Team Roster:", color=role.color)
    em.set_author()
    fo=discord.utils.get(ctx.message.guild.roles,id=846618354478481409)
    gm=discord.utils.get(ctx.message.guild.roles,id=846618640957833259)
    hc=discord.utils.get(ctx.message.guild.roles,id=846618777213730837)
    for member in role.members:
      embed.add_field(name="u200b",
                      value=f"{member.mention}n"
                      f"`{member.name}#{member.discriminator}`"
      )
 

Комментарии:

1. Кстати, дайте мне знать, если мне понадобится отправить более крупный фрагмент!

Ответ №1:

Подождите, я думаю, что если я просто добавлю цикл элементов (например member = [member for member in role.members] ), а затем упомяну генерального менеджера владельца франшизы и главного тренера пользователя. затем завершите цикл словами: embed.add_field(name="u200b", value=f"{member.mention}n {member.name}#{member.discriminator}") это должно сработать, если я прав? Не так ли? Так что мой завершающий фрагмент был бы:

 @commands.Command()
async def roster(ctx, role: discord.Role=None):
  em = discord.Embed(title=f"{role.name}'s Current Team Roster:", color=role.color)
  em.set_author()
  fo=discord.utils.get(ctx.message.guild.roles,id=846618354478481409)
  gm=discord.utils.get(ctx.message.guild.roles,id=846618640957833259)
  hc=discord.utils.get(ctx.message.guild.roles,id=846618777213730837)
  for role in ctx.guild.roles:
    member = [member for member in role.members]
    if role == fo:
      em.add_field(name="**__Franchise Owner__**:", value=f"{member.mention}n"
      f"`{member.name}#{member.discriminator}`"
      )
    elif role == gm:
. . .
    else:
      em.add_field(name="u200b", value=f"{member.mention}n"
      f"`{member.name}#{member.discriminator}`"
      )