#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 и посмотреть, нет ли их?