- Исправлено 'плавающее' меню (дублирование кнопок при навигации)
- Создан base.html - единый базовый шаблон для всех страниц
- Добавлена кнопка '📅 Запланированные посты' во все 11 страниц
- Sticky sidebar с улучшенным дизайном
- Все страницы теперь имеют одинаковое меню (11 кнопок)
- Улучшенная подсветка активного пункта (border-left)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
109 lines
3.6 KiB
Python
109 lines
3.6 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Отправка уведомления о тестировании запланированных постов
|
||
"""
|
||
import asyncio
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
BASE_DIR = Path(__file__).resolve().parent
|
||
sys.path.insert(0, str(BASE_DIR))
|
||
|
||
from aiogram import Bot
|
||
from aiogram.client.default import DefaultBotProperties
|
||
from aiogram.enums import ParseMode
|
||
from aiogram.client.session.aiohttp import AiohttpSession
|
||
|
||
from config import BOT_TOKEN, ADMIN_USER_ID, get_proxy_url
|
||
|
||
async def send_notification():
|
||
"""Отправка уведомления"""
|
||
proxy_url = get_proxy_url()
|
||
|
||
if proxy_url:
|
||
session = AiohttpSession(proxy=proxy_url)
|
||
bot = Bot(token=BOT_TOKEN, session=session, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
|
||
else:
|
||
bot = Bot(token=BOT_TOKEN, default=DefaultBotProperties(parse_mode=ParseMode.HTML))
|
||
|
||
message = """
|
||
🎉 <b>НОВЫЙ ФУНКЦИОНАЛ ГОТОВ!</b>
|
||
|
||
✅ <b>Запланированные посты - РАБОТАЕТ!</b>
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
📅 <b>ЧТО СОЗДАНО:</b>
|
||
|
||
✅ Страница в веб-панели: /scheduled_posts
|
||
✅ API для создания постов
|
||
✅ Фоновая отправка по расписанию
|
||
✅ Уведомления о публикации
|
||
✅ Поддержка тем форума
|
||
✅ Поддержка фото
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
🧪 <b>ТЕСТОВЫЙ ПОСТ:</b>
|
||
|
||
Создан тестовый пост ID=1
|
||
Тема: Мемы
|
||
Время публикации: через 2 минуты
|
||
Текст: Юмор про мусор 😂
|
||
|
||
⏳ <b>Подожди 2 минуты и проверь:</b>
|
||
• Пост появится в теме "Мемы"
|
||
• Тебе придёт уведомление об успехе
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
🌐 <b>КАК ИСПОЛЬЗОВАТЬ:</b>
|
||
|
||
1. Зайди в веб-панель: http://localhost:8000
|
||
2. Логин: MatrixHasYou
|
||
3. Пароль: 5nMVkjd5nMVkjd
|
||
4. Кликни "📅 Запланированные посты"
|
||
5. Заполни форму:
|
||
• Текст поста
|
||
• Картинка (опционально)
|
||
• Тема форума
|
||
• Дата и время
|
||
6. Жми "Запланировать пост"
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
📋 <b>ДОСТУПНЫЕ ТЕМЫ:</b>
|
||
|
||
💬 Общий чат
|
||
😂 Мемы
|
||
📢 Важные объявления
|
||
🏛️ Собрания собственников
|
||
🗑️ Вывоз КГМ
|
||
🔍 Потеряшки
|
||
🚗 Для автовладельцев
|
||
📞 Важные телефоны
|
||
🔗 Ссылки
|
||
📝 Переписка с УО
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
🛡️ <b>БЕЗОПАСНОСТЬ:</b>
|
||
|
||
✅ Ни один существующий функционал не сломан
|
||
✅ Все изменения изолированы
|
||
✅ Можно откатиться через Gitea
|
||
✅ Логи всех действий
|
||
|
||
<i>После тестирования скажи - закоммичу в Gitea!</i>
|
||
"""
|
||
|
||
try:
|
||
await bot.send_message(ADMIN_USER_ID, message)
|
||
print("✅ Уведомление отправлено!")
|
||
except Exception as e:
|
||
print(f"❌ Ошибка: {e}")
|
||
finally:
|
||
await bot.session.close()
|
||
|
||
if __name__ == '__main__':
|
||
asyncio.run(send_notification())
|