import hashlib
from datetime import datetime
import config
import logging
from core.JabberBot import JabberBot
from slixmpp.stanza import Message

botname = "open_basic_bot"
operating_status = 0

JID = botname + "@" + config.JSERVER
PORT = config.PORT
PASSWORD = hashlib.md5((botname + config.PASSWORD).encode('utf-8')).hexdigest()

bot = JabberBot(JID, PASSWORD)

# таким образом хранится список jid, от которых можно получать сообщения этому боту
listen_to = [
    "open_basic_bot@ej.sharix-app.org",
    "test_user@ej.sharix-app.org"
]

# тут хранится список jid, кому бот может отправлять сообщения в результате обработки заявки
proceed_to = [
    "another_bot@ej.sharix-app.org"
]

def message_handler(msg: Message):
    """Обработчик входящих сообщений"""

    if msg['type'] in ('chat', 'normal'):
        text = msg['body']  # текст сообщения боту
        sender = msg['from']  # отправитель сообщения

        if (str(sender).split("/")[0]) in listen_to:
            if text is not None:
                logging.info(f"Сообщение получено")

def start_handler():
    """Событие запуска обработчика."""

    logging.info(">>>>>  %s  |---| %s  <<<<<", JID, PASSWORD)

    logging.info("Сообщение отправлено")

    bot.send_message(JID, f"Сообщение отправлено {JID}: {datetime.now()}")


# START CUSTOM FUNCTIONS



# END CUSTOM FUNCTIONS
