from aiohttp import ClientSession from redis.asyncio.client import Redis url = "https://api.coingecko.com/api/v3/simple/price" async def get_ton_course(redis: Redis): ton_price = await redis.get("ton_price") if ton_price: return ton_price params = { "ids": "the-open-network", "vs_currencies": "usd" } async with ClientSession() as session: async with session.get(url, ssl=False, params=params) as response: try: data = await response.json() ton_price = data["the-open-network"]["usd"] await redis.set("ton_price", ton_price, ex=5) return ton_price except Exception as e: return