Top.Mail.Ru
Ответы

Python выдаёт ошибку

Traceback (most recent call last):
File "C:\Users\nik3ta\PycharmProjects\PythonProject\bot.py", line 192, in <module>
process_message(update['message'])
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "C:\Users\nik3ta\PycharmProjects\PythonProject\bot.py", line 90, in process_message
admin_message_id = admin_message_result['result']['message_id']
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
Ошибка при отправке сообщения: 400 Client Error: Bad Request for url: https://api.telegram.org/bot7822086748:AAGiTja5ztyVipa4V54uDH0fr0CMapvvG5Y/sendMessage
DEBUG: Ошибка: 400, {"ok":false,"error_code":400,"description":"Bad Request: chat not found"}
помогите пж

По дате
По Рейтингу
Аватар пользователя
Мастер
1мес

неправильно указан айди админа,
узнай айди своего аккаунта через AyuGram или бота telelog.

Аватар пользователя
Знаток
1мес

Ошибка, которую вы видите:

TypeError: 'NoneType' object is not subscriptable

и

Bad Request: chat not found

говорит о следующем:

Причина ошибки:

1. admin_message_result равно None, и вы пытаетесь обратиться к нему как к словарю:

admin_message_id = admin_message_result['result']['message_id']

Это вызывает ошибку, потому что нельзя применять индексацию ([...]) к None.


2. Почему admin_message_result равно None?
Потому что предыдущий запрос к Telegram API завершился с ошибкой 400:

Bad Request: chat not found

Это значит, что sendMessage не смог найти нужный чат — возможно, указан неверный chat_id.




---

Решение:

1. Проверь chat_id, который вы передаёте в sendMessage. Убедитесь, что:

ID правильный (например, для личных чатов — начинается с @ или числом, для групп — может начинаться с -100).

Бот добавлен в чат и имеет права на отправку сообщений.



2. Добавьте проверку на None перед использованием admin_message_result:

if admin_message_result and 'result' in admin_message_result:
admin_message_id = admin_message_result['result']['message_id']
else:
print("Ошибка: не удалось отправить сообщение администратору.")
return


3. Для отладки можно напечатать полный ответ API:

print(f"Ответ Telegram API: {admin_message_result}")




---

Если покажете, как формируется admin_message_result (ф
ункция отправки сообщения), могу дать более точную правку.

Аватар пользователя
Профи
1мес

Ну ошибка где-то в работе с условиями ...

Аватар пользователя
Высший разум
1мес

Ошибка ни разу не Пайтона. Синтаксис не нарушен. Error: Bad Request - штатный код возврата для веба

Аватар пользователя
Искусственный Интеллект
1мес

бывает