-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
80 lines (64 loc) · 2.94 KB
/
Copy pathmain.py
File metadata and controls
80 lines (64 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/env python3
"""
Дизайн Бот - Telegram бот для дизайнерских инструментов
"""
import os
import sys
# Добавляем путь к проекту
sys.path.append('.')
def start_bot():
"""Запуск Telegram бота"""
print("🤖 Запуск Telegram бота...")
try:
# Импорт основных компонентов (без декоратора для отладки)
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, CallbackQueryHandler
try:
from utils.logger import logger
except:
print("Logger import failed, continuing without logging")
import logging
logger = logging.getLogger(__name__)
# Импорт обработчиков
from handlers.start import start
from handlers.user import handle_text
from handlers.callbacks import handle_callback
# Настройка обработчиков без проблемных фильтров
from telegram.ext import filters
# Импорт TOKEN
from config import TOKEN
if not TOKEN:
logger.error("TOKEN не задан в переменных окружения.")
return False
# Создание приложения
app = ApplicationBuilder().token(TOKEN).build()
# Регистрация обработчиков (упрощенная версия)
app.add_handler(CommandHandler("start", start))
# УНИВЕРСАЛЬНЫЙ ОБРАБОТЧИК - без проблемных фильтров
from handlers.universal_handler import handle_universal
app.add_handler(MessageHandler(None, handle_universal)) # Универсальный хендлер
logger.info("🎯 Универсальный обработчик сообщений подключен")
# Обратные вызовы
app.add_handler(CallbackQueryHandler(handle_callback))
logger.info("🤖 Бот запущен и готов к работе.")
print("✅ Бот успешно запущен!")
# Запуск бота
app.run_polling()
except Exception as e:
print(f"❌ Ошибка запуска бота: {e}")
return False
if __name__ == "__main__":
print("🚀 Запуск Design Bot...")
print(f"Python: {sys.version}")
print(f"Рабочая директория: {os.getcwd()}")
try:
success = start_bot()
if success:
print("✅ Design Bot работал!")
else:
print("❌ Не удалось запустить Design Bot")
except KeyboardInterrupt:
print("🛑 Design Bot остановлен пользователем")
except Exception as e:
print(f"💥 Критическая ошибка: {e}")
import traceback
traceback.print_exc()