Код: Выделить всё
import requests
TG_BOT_TOKEN = ""
TG_CHAT_IDS = [chatid1,chatid2 ]
def send_telegram_message(chat_id, title, body):
url = f"https://api.telegram.org/bot{TG_BOT_TOKEN}/sendMessage"
payload = {
'chat_id': chat_id,
'text': f"{title}\n{body}"
}
response = requests.post(url, data=payload)
response.raise_for_status() # Raises an HTTPError for bad responses
return response.json()
title = "Test Title"
body = "Test Body"
for cht in TG_CHAT_IDS:
try:
telegram_response = send_telegram_message(chat_id=cht, title=title, body=body)
print(f"Message sent to {cht} - RESPONSE: {telegram_response}")
except requests.RequestException as e:
print(f"Failed to send message to {cht}: {e}")
- Проблема:
- Скрипт печатает «Сообщение отправлено на {chat_id} - ОТВЕТ: {response}", но сообщения не появляются в указанных чатах Telegram.
- Исключений не возникает , поэтому запросы кажутся успешными, но сообщения не получены.
Что я проверил: - TG_BOT_TOKEN правильно, и бот был добавлен в указанные чаты.
- TG_CHAT_IDS содержит действительные идентификаторы чата (один — групповой чат, другой – прямой чат с пользователем).
- Библиотека запросов установлена и работает корректно.
- Работа на Python 3.x.
- Часть сценария уведомлений Firebase работает правильно.
- Нет Ошибки HTTP вызываются функцией response.raise_for_status().
- Основная цель этого — получение в Telegram тех же уведомлений, что и от наших приложение, которое использует Firebase, уведомления Firebase работают, Telegram нет
Подробнее здесь: https://stackoverflow.com/questions/785 ... n-requests