import sys import os import asyncio # Импортируем только учетные данные для подключения from config.config import TC_SERVER, TC_LOGIN, TC_PASSWORD from trueconf import Bot async def send_proactive_message(target_user: str, message_text: str): # Создаем объект бота bot = Bot.from_credentials( server=TC_SERVER, username=TC_LOGIN, password=TC_PASSWORD, verify_ssl=False ) # Запускаем фоновый цикл для поднятия WebSocket соединения bot_task = asyncio.create_task(bot.run()) print("🔄 Подключение к серверу (ожидание 3 секунды)...") await asyncio.sleep(3) # Даем боту время поднять коннект try: print(f"✉️ Отправка сообщения пользователю {target_user}...") # Отправляем сообщение await bot.send_message(target_user, text=message_text, parse_mode="html") print("✅ Сообщение успешно отправлено!") except Exception as e: print(f"❌ Ошибка при отправке: {e}") finally: print("🛑 Завершение скрипта...") # Мгновенно убиваем процесс, чтобы не зависнуть на WebSockets os._exit(0) if __name__ == "__main__": # Чтение аргументов из консоли if len(sys.argv) >= 3: user = sys.argv[1] text = " ".join(sys.argv[2:]) else: # Для ручного теста (без аргументов) user = "ds.krivochenko@tcs.sibcem.ru" # Убедитесь, что чат с ботом уже инициирован! text = "🔔 Уведомление: Тестовое сообщение." try: asyncio.run(send_proactive_message(user, text)) except KeyboardInterrupt: os._exit(0)