telegram_service.py 649 B

123456789101112131415161718192021
  1. import json
  2. import time
  3. import requests
  4. from typing import List
  5. from app.core.biz_exception import NotFoundError, PermissionDeniedError, BizLogicError
  6. from app.schemas.telegram import TelegramIn
  7. class TelegramService:
  8. def push_to_telegram(payload: TelegramIn):
  9. url = f"https://api.telegram.org/bot{payload.api_token}/sendMessage"
  10. payload = {
  11. "chat_id": payload.chat_id,
  12. "text": payload.message,
  13. "parse_mode": "HTML"
  14. }
  15. response = requests.post(url, json=payload, timeout=10)
  16. if response.status_code != 200:
  17. raise BizLogicError("Telegram push failed")