Files
trueconf_bot/send_message.py

54 lines
2.1 KiB
Python

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 = "🔔 <b>Уведомление:</b> Тестовое сообщение."
try:
asyncio.run(send_proactive_message(user, text))
except KeyboardInterrupt:
os._exit(0)