Скрипт падает на
user.name, а Python сообщает: у объекта NoneType нет атрибута name. Это не жалоба на сам атрибут name. В этой строке переменная user оказалась равна None, хотя код ожидал объект пользователя.Искать причину удобнее в обратном порядке. Сначала найдите обращение к атрибуту, затем переменную слева от точки и место, где она получила значение. В примере из статьи функция
find_user() возвращает None, если не находит пользователя: значит, нужно проверить target_id и наличие записи в списке.Разбор на DEV Community показывает этот поиск по шагам. Возьмите похожую ошибку из своего кода и пройдите цепочку назад до первого
None: так сообщение об ошибке превратится в маршрут от симптома к причине.
