Discord.py Не работает utils.get ()

Samylov

Новичок
Пользователь
Янв 29, 2021
5
1
3
Здравствуйте!

Windows 10, Python 3, Discord.py.

Пишу бота на Python с помощью библиотеке Discord.py.

Код:
Python:
import discord
import json
from discord import utils

class MyClient (discord.Client):
    async def on_ready (self):
        """На подключение"""
        print ("Бот подключился")

    async def on_raw_reaction_add (self, payload):
        """На добавлении реакции на сообщение"""
        roles = {"1️⃣": 802942461646209072, # ID ролей
            "2️⃣": 802942499177627669,
            "3️⃣": 802942602818617405
        }
        if payload.message_id == 805722455293427744: # Проверка на ID сообщения
            channel = self.get_channel (payload.channel_id) # Получение объекта канала
            message = await channel.fetch_message (payload.message_id)
            member = utils.get (message.guild.members, id = payload.user_id) # Получение объекта пользователя (возвращает None)
            print (member, payload.user_id)
            emoji = str (payload.emoji)
            role = utils.get (message.guild.roles, id = roles [emoji])
            await member.add_roles (role)
                
intents = discord.Intents.default ()
intents.guilds = True
client = MyClient (intents = intents)

with open ("token.json") as file: # Токен бота
    token = json.load (file)

client.run (token)
Ошибка:
Python:
Ignoring exception in on_raw_reaction_add
Traceback (most recent call last):
  File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "main.py", line 41, in on_raw_reaction_add
    await member.add_roles (role)
AttributeError: 'NoneType' object has no attribute 'add_roles'

При получении объекта пользователя, что бы получить возможность добавить ему роль (member = utils.get (message.guild.members, id = payload.user_id)) возвращает None. Как я понял, utils.get () возвращает объект, в данном случае пользователя, у которого содержатся эти данные.

Помогите пожалуйста. Как решить эту проблему? Может есть ещё варианты получения объекта пользователя?

Заранее спасибо!
 

Вложения

  • main.txt
    1,4 КБ · Просмотры: 1

Форум IT Специалистов