| | from fastapi import FastAPI, HTTPException |
| | from fastapi.middleware.cors import CORSMiddleware |
| | import os |
| | import json |
| | import httpx |
| | |
| | import asyncio |
| | |
| | |
| | import aiohttp |
| |
|
| | app = FastAPI() |
| |
|
| | |
| | app.add_middleware( |
| | CORSMiddleware, |
| | allow_origins=["*"], |
| | allow_credentials=True, |
| | allow_methods=["*"], |
| | allow_headers=["*"], |
| | ) |
| |
|
| | |
| | @app.on_event("startup") |
| | async def startup_event(): |
| | global codigos, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID |
| | codigos_json = os.environ.get("codigos") |
| | print("codigos recogidos pero no chequeados") |
| | if codigos_json: |
| | codigos = json.loads(codigos_json) |
| | print("C贸digos cargados correctamente") |
| | else: |
| | codigos = {} |
| | print("No se encontraron c贸digos en las variables de entorno") |
| | |
| | TELEGRAM_BOT_TOKEN = os.environ.get("T_bot") |
| | TELEGRAM_CHAT_ID = os.environ.get("nroChat") |
| |
|
| | if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID: |
| | print("Faltan configuraciones de Telegram") |
| | else: |
| | print("Claves de telegram cargados correctamente") |
| |
|
| | async def send_telegram_message(message): |
| | url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage" |
| | params = { |
| | "chat_id": TELEGRAM_CHAT_ID, |
| | "text": message |
| | } |
| | |
| | |
| |
|
| | @app.get("/verificar/{codigo}") |
| | async def verificar_codigo(codigo: str): |
| | if codigo in codigos: |
| | if codigos[codigo] > 0: |
| |
|
| | |
| | mensaje = f"C贸digo utilizado: {codigo}\nConsultas restantes: {codigos[codigo]}" |
| | print(f"\nmensaje:") |
| | print(mensaje, end="\n\n") |
| | asyncio.run(send_telegram_message(mensaje)) |
| | |
| | return {"mensaje": "c贸digo encontrado", "consultas_restantes": codigos[codigo]} |
| | else: |
| | return {"mensaje": "c贸digo caducado"} |
| | else: |
| | return {"mensaje": "c贸digo no encontrado"} |
| |
|
| | if __name__ == "__main__": |
| | import uvicorn |
| | uvicorn.run(app, host="0.0.0.0", port=7860) |
| |
|