diff --git a/web/app.py b/web/app.py index 5bffb3c..abfc74a 100644 --- a/web/app.py +++ b/web/app.py @@ -1266,25 +1266,28 @@ async def api_generate_digest(username: str = Depends(get_current_admin)): # Сохраняем digest_id = await service.save_digest(digest_data, status='pending_approval') - # Отправляем превью админу в личку - from bot_instance import get_bot - from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton + # Отправляем превью админу в личку через HTTP + from config import get_proxy_url - bot = get_bot() - keyboard = InlineKeyboardMarkup(inline_keyboard=[ - [InlineKeyboardButton(text="🌐 Утвердить в веб-панели", url="http://localhost:8000/digests")], - ]) - - await bot.send_message( - config.ADMIN_USER_ID, - f"📰 Дайджест за неделю готов!\n\n" - f"Неделя #{digest_data['week_number']}/{digest_data['year']}\n" - f"Период: {digest_data['period_start'].strftime('%d.%m')} - {digest_data['period_end'].strftime('%d.%m.%Y')}\n\n" - f"Зайдите в веб-панель для утверждения:\n" - f"http://localhost:8000/digests", - parse_mode='HTML', - reply_markup=keyboard - ) + async with aiohttp.ClientSession() as http_session: + url = f"https://api.telegram.org/bot{config.BOT_TOKEN}/sendMessage" + keyboard = { + "inline_keyboard": [ + [{"text": "🌐 Утвердить в веб-панели", "url": "http://localhost:8000/digests"}] + ] + } + payload = { + 'chat_id': config.ADMIN_USER_ID, + 'text': f"📰 Дайджест за неделю готов!\n\n" + f"Неделя #{digest_data['week_number']}/{digest_data['year']}\n" + f"Период: {digest_data['period_start'].strftime('%d.%m')} - {digest_data['period_end'].strftime('%d.%m.%Y')}\n\n" + f"Зайдите в веб-панель для утверждения:\n" + f"http://localhost:8000/digests", + 'parse_mode': 'HTML', + 'reply_markup': json.dumps(keyboard) + } + async with http_session.post(url, json=payload, proxy=get_proxy_url()) as resp: + await resp.json() return JSONResponse({ "success": True,