open_basic_bot.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import hashlib
  2. from datetime import datetime
  3. import config
  4. import jsonAndRequest as jsreq
  5. from BotClass import JabberBot
  6. botname = "open_basic_bot"
  7. operating_status = 0
  8. JID = botname + "@" + config.JSERVER
  9. PORT = config.PORT
  10. PASSWORD = hashlib.md5((botname + config.PASSWORD).encode('utf-8')).hexdigest()
  11. bot: JabberBot = JabberBot(JID, PASSWORD, PORT)
  12. # таким образом хранится список jid, от которых можно получать сообщения этому боту
  13. listen_to = [
  14. "test_user@ej.sharix-app.org"
  15. ]
  16. # тут хранится список jid, кому бот может отправлять сообщения в результате обработки заявки
  17. proceed_to = [
  18. "another_bot@ej.sharix-app.org"
  19. ]
  20. def message_handler(conn, mess):
  21. """обработчик входящих сообщений"""
  22. text = mess.getBody() # текст сообщения боту
  23. user = mess.getFrom() # отправитель сообщения
  24. if (str(user).split("/")[0]) in listen_to:
  25. if text is not None:
  26. msg = jsreq.msg_to_text(text)
  27. bot.bot_log(str(datetime.now()) + " Сообщение получено\n")
  28. def start_handler(self):
  29. """Событие запуска обработчика."""
  30. bot.proceed_status(listen_to[0], {'msg': 'some_info'})
  31. bot.bot_log(botname + " " + str(datetime.now()) + " " + "Сообщение отправлено\n")
  32. # START CUSTOM FUNCTIONS
  33. # END CUSTOM FUNCTIONS
  34. bot.register_handler('message', message_handler)
  35. bot.start(start_handler)