file manager

This commit is contained in:
2025-08-30 14:42:08 +09:00
parent 3d189c415f
commit 5c263e6e5d
60 changed files with 29336 additions and 35 deletions

View File

@@ -0,0 +1,52 @@
#!/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())

View File

@@ -0,0 +1,52 @@
#!/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())