file manager
This commit is contained in:
52
examples/file_manager_demo.py
Normal file
52
examples/file_manager_demo.py
Normal 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())
|
||||
Reference in New Issue
Block a user