@vanproskur

Как исправить ошибку с discord.py?

import discord
from discord.ext import commands


token = "token"
client = commands.Bot (command_prefix = '......')

@client.event
async def on_ready():
	user = client.get_user(710423070539644929)
	await user.send('New bot')

client.run(token)


такой код выводит ошибку:
Ignoring exception in on_ready
Traceback (most recent call last):
  File "C:\Users\vanproskur\AppData\Local\Programs\Python\Python39\lib\site-packages\discord\client.py", line 343, in _run_event
    await coro(*args, **kwargs)
  File "C:\Users\vanproskur\Desktop\bot.py", line 14, in on_ready
    await user.send('New bot')
AttributeError: 'NoneType' object has no attribute 'send'
  • Вопрос задан
  • 66 просмотров
Решения вопроса 1
Функция get_user работает с кэшем. Кэш не заполняется при отсутствии необходимых intents.
Пользователя так же может не быть в кэше, если бот не имеет общих серверов с пользователем.

Решения:
  1. Получить и включить необходимые intents
  2. Использовать прямой запрос к API при помощи await bot.fetch_user(ID)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix
yellow
Ну, пользователь не найден, что добавить.
А даже если получите, то у класса User нет метода send
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы