add algam

This commit is contained in:
2025-09-22 11:54:42 +05:00
parent 3c418a97b4
commit 5b9c55a4dc
34 changed files with 4700 additions and 426 deletions

87
app.control-bot/main.py Normal file
View File

@@ -0,0 +1,87 @@
"""
Управляющее приложение для бота с веб-интерфейсом
"""
import http.server
import socketserver
import os
import sys
import webbrowser
import threading
import time
from pathlib import Path
class WebInterface:
def __init__(self, port=3000):
self.port = port
self.web_dir = Path(__file__).parent / "web"
def start_server(self):
"""Запуск веб-сервера"""
try:
# Меняем рабочую директорию на папку с веб-файлами
os.chdir(self.web_dir)
# Создаем HTTP сервер
handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", self.port), handler) as httpd:
print(f"🚀 Веб-интерфейс управления тестами запущен!")
print(f"📡 Адрес: http://localhost:{self.port}")
print(f"📁 Директория: {self.web_dir}")
print(f"⚠️ Убедитесь, что API сервер запущен на http://localhost:8000")
print(f"💡 Для остановки нажмите Ctrl+C")
print("-" * 60)
# Открываем браузер через 2 секунды
def open_browser():
time.sleep(2)
try:
webbrowser.open(f"http://localhost:{self.port}")
except Exception as e:
print(f"Не удалось открыть браузер: {e}")
browser_thread = threading.Thread(target=open_browser)
browser_thread.daemon = True
browser_thread.start()
# Запускаем сервер
httpd.serve_forever()
except KeyboardInterrupt:
print("\n🛑 Сервер остановлен")
except OSError as e:
if e.errno == 10048: # Windows: Address already in use
print(f"❌ Ошибка: Порт {self.port} уже используется")
print(f"💡 Попробуйте другой порт или остановите процесс, использующий порт {self.port}")
else:
print(f"❌ Ошибка запуска сервера: {e}")
except Exception as e:
print(f"❌ Неожиданная ошибка: {e}")
def main():
"""Главная функция приложения"""
# Проверяем существование веб-директории
web_dir = Path(__file__).parent / "web"
if not web_dir.exists():
print("❌ Ошибка: Веб-директория не найдена!")
print(f"Ожидаемый путь: {web_dir}")
return
# Проверяем существование основных файлов
index_file = web_dir / "index.html"
if not index_file.exists():
print("❌ Ошибка: Файл index.html не найден!")
print(f"Ожидаемый путь: {index_file}")
return
print("🤖 Управляющее приложение для Telegram бота")
print("=" * 50)
# Запускаем веб-интерфейс
web_interface = WebInterface()
web_interface.start_server()
if __name__ == "__main__":
main()