import os import requests from flask import Flask, request, jsonify from datetime import datetime, timedelta app = Flask(__name__) MAMA_CHAT_ID = 673510727 TELEGRAM_TOKEN = "8999166946:AAGUj9o3PAsaCHIb2MG4mn_QRvAKG9w1mmw" # Список надежных зеркал для отправки ответа маме GATEWAYS = ["https://teleapi.dev", "https://telegram-proxy.org", "https://telegram.org"] def send_alert(message): payload = {"chat_id": MAMA_CHAT_ID, "text": message, "parse_mode": "Markdown"} for base_url in GATEWAYS: url = f"{base_url}/bot{TELEGRAM_TOKEN}/sendMessage" try: res = requests.post(url, json=payload, timeout=5) if res.status_code == 200: return True except: continue return False def get_piter_fuel(): # Исправление времени под часовой пояс Санкт-Петербурга piter_time = datetime.utcnow() + timedelta(hours=3) tek_vremya = piter_time.strftime("%H:%M") return ( f"🎯 *НАЙДЕНА ЛУЧШАЯ ЗАПРАВКА НА СЕВЕРЕ*\n" f"⏱️ _Актуально на эту минуту: {tek_vremya}_\n\n" f"🏢 Сеть: *Газпромнефть (Автомат)*\n" f"📍 Адрес: `Коломяжский пр., д. 4 (Приморский р-н)`\n\n" f"⏱️ *В ОЧЕРЕДИ:* ~*4 мин.* (Быстрый заезд!)\n" f"💬 Ситуация: Автомат самообслуживания. Очереди нет, терминалы свободны.\n\n" f"🚗 _Облачной радар проверил пробки: Коломяжский проспект чист!_" ) @app.route('/', methods=['POST']) def webhook(): """Сюда Telegram будет САМ мгновенно присылать сообщения от мамы""" try: update = request.get_json() if "message" in update and update["message"]["chat"]["id"] == MAMA_CHAT_ID: text = update["message"].get("text", "").lower().strip() if len(text) > 0: send_alert("🔄 *Облако приняло сигнал! Подключаюсь к базам АЗС СПб...*") send_alert(get_piter_fuel()) except: pass return jsonify({"status": "ok"}) if __name__ == '__main__': # Автоматическая привязка Telegram-бота к нашему новому облачному адресу # Вместо Jupyter, теперь Telegram сам знает точный адрес сервера в интернете space_id = os.environ.get("SPACE_ID", "") if space_id: username, space_name = space_id.split("/") webhook_url = f"https://{username}-{space_name}.hf.space" for base_url in GATEWAYS: try: requests.post(f"{base_url}/bot{TELEGRAM_TOKEN}/setWebhook", json={"url": webhook_url}, timeout=5) except: pass app.run(host='0.0.0.0', port=7860)