#!/usr/bin/env python # -*- coding: utf-8 -*- """ Пример использования файлового менеджера для Synology NAS """ import logging import asyncio from telegram.ext import Application from src.config.config import TELEGRAM_TOKEN from src.api.synology import SynologyAPI from src.agents.file_manager_agent import create_file_manager_handler from src.api.filestation import add_file_manager_methods_to_synology_api from src.utils.logger import setup_logging async def main(): """Главная функция демонстрации файлового менеджера""" # Настройка логирования setup_logging() logger = logging.getLogger(__name__) # Проверка наличия токена if not TELEGRAM_TOKEN: logger.error("Telegram token is not set! Please configure TELEGRAM_TOKEN in .env file.") return # Создание и настройка приложения бота logger.info("Starting Synology File Manager Demo") application = Application.builder().token(TELEGRAM_TOKEN).build() # Создание экземпляра API и добавление методов для работы с файловой системой synology_api = SynologyAPI() # Регистрация обработчика файлового менеджера file_manager_handler = create_file_manager_handler(synology_api) application.add_handler(file_manager_handler) # Запуск бота logger.info("Bot started with file manager. Use /files command to start. Press Ctrl+C to stop.") await application.start() await application.updater.start_polling() # Ждем прерывание try: await asyncio.Future() # Бесконечное ожидание finally: await application.stop() if __name__ == "__main__": asyncio.run(main())