open_basic_bot.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import hashlib
  2. from datetime import datetime
  3. import config
  4. import logging
  5. from utils.JabberBot import JabberBot
  6. from slixmpp.stanza import Message
  7. botname = "open_basic_bot"
  8. operating_status = 0
  9. JID = botname + "@" + config.JSERVER
  10. PORT = config.PORT
  11. PASSWORD = hashlib.md5((botname + config.PASSWORD).encode('utf-8')).hexdigest()
  12. bot = JabberBot(JID, PASSWORD)
  13. # таким образом хранится список jid, от которых можно получать сообщения этому боту
  14. listen_to = [
  15. "open_basic_bot@ej.sharix-app.org",
  16. "test_user@ej.sharix-app.org"
  17. ]
  18. # тут хранится список jid, кому бот может отправлять сообщения в результате обработки заявки
  19. proceed_to = [
  20. "another_bot@ej.sharix-app.org"
  21. ]
  22. def message_handler(msg: Message):
  23. """Обработчик входящих сообщений"""
  24. if msg['type'] in ('chat', 'normal'):
  25. text = msg['body'] # текст сообщения боту
  26. sender = msg['from'] # отправитель сообщения
  27. if (str(sender).split("/")[0]) in listen_to:
  28. if text is not None:
  29. logging.info(f"Сообщение получено")
  30. def start_handler():
  31. """Событие запуска обработчика."""
  32. logging.info(">>>>> %s |---| %s <<<<<", JID, PASSWORD)
  33. logging.info("Сообщение отправлено")
  34. bot.send_message(JID, f"Сообщение отправлено {JID}: {datetime.now()}")
  35. # START CUSTOM FUNCTIONS
  36. # END CUSTOM FUNCTIONS