Как предоставить всем пользователям с определенным статусом discord роль

#python #python-3.x #discord #discord.py

#python #python-3.x #Discord #discord.py

Вопрос:

Итак, у меня есть сервер Discord, где я хочу, чтобы мой бот предоставлял всем статус discord.gg/chilling особая роль!

Он также будет постоянно проверять каждую минуту или около того и видеть, получил ли пользователь этот статус или удалил его!

Вот что у меня есть на данный момент…

 @client.command()
async def rolev(ctx):
    role_added = 0
    role_removed = 0
    memcount = 0
    guild = client.get_guild(763626880775225384)
    role = discord.utils.get(guild.roles, name="I Am Sexier")
    for member in guild.members:
        if member.activity is None:
            pass
        elif 'discord.gg/chilling' == member.activity.name:
            await member.add_roles(role)
            role_added  =1
        else:
            await member.remove_roles(role)
            role_removed  = 1
        memcount  = 1
    await ctx.send(f"**Done -> Added The Role For: `{role_added}` | Removed The Role From -> `{role_removed}` | Checked -> `{memcount}`**")
  

И вот ошибка, которую я получаю:

 await member.remove_roles(role)
  File "D:Pythonlibsite-packagesdiscordmember.py", line 685, in remove_roles
    await req(guild_id, user_id, role.id, reason=reason)
AttributeError: 'NoneType' object has no attribute 'id'
  

Что я могу сделать?

Я надеюсь, что вы все — кучка гениев, поэтому я надеюсь, что получу ответ отсюда…

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

1. discord.utils.get(client.guilds, name="TOG") возвращается как None, вы уверены, что ваш бот состоит в гильдии TOG?

2. Я рекомендую использовать get_guild по идентификатору вместо поиска по имени

3. @derw я обновлю код здесь, пожалуйста, проверьте

4. @Cloud я видел, что вы присоединились к серверу, не могли бы вы присоединиться и помочь мне снова?

5. @TOG6 ошибка, которую вы получаете, вероятно, СВЯЗАНА НЕ с гильдией, а с ролью. Разве вы не можете просто попробовать напечатать переменные guild и role и посмотреть, нет ли их?