Помощь по поводу on_member_update

async def on_member_update(before, after):
    a = ['Роль 1:', 'Роль 2']
    if len(before.roles) < len(after.roles):
        for i in after.roles:
            if not i in before.roles:
                if i.name in a:
                        role1 = client.guild.get_role(int('id')) 
                        role1role = "\n".join([(member.mention) for member in role1.members])
                        embed_player.add_field(name=f'Роль1:\n', value=f'{role1role}' or 'отсутствует', inline=False) 
                        await client.send(embed=embed_player)

При снятии роли человеку бот выдает ошибку:
role1 = client.guild.get_role(int('id')) AttributeError: 'Bot' object has no attribute 'guild'


Ответы (1 шт):

Автор решения: Utsiye

У бота просто нет гильдии, тоесть у него много гильдий, вам нужно привязать к объекту, у которого только 1 гильдия, например к человеку, before.member.channel или before.channel или before.roles.channel.

→ Ссылка