open-st_request-assigned.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import xmpp
  2. from xmpp import cli
  3. import config
  4. from BotClass import JabberBot
  5. import json
  6. import botrun
  7. #раскомментировать, когда перейдем на разные пароли
  8. #import hashlib
  9. import datetime
  10. #В этом файле содержится только то, что запускает конкретный обработчик
  11. botname="open-st_request-assigned"
  12. JID=botname+"@"+config.JSERVER
  13. PASSWORD=config.PASSWORD
  14. #раскомментировать, когда перейдем на разные пароли
  15. #PASSWORD=hashlib.md5((botname+config.PASSWORD).encode('utf-8')).hexdigest()
  16. #таким образом хранится список jid, от которых можно получать сообщения этому боту
  17. listen=["test@msg.sharix-app.org", "test1@msg.sharix-app.org"]
  18. # обработчик входящих сообщений
  19. def message_handler(conn, mess):
  20. text = mess.getBody()#текст сообщения боту
  21. user = mess.getFrom()#отправитель сообщения
  22. #нужна проверка, данный обработчик вообще должен от данного отправителя получать сообщения или нет. Подсказка ниже
  23. #if user in listen:
  24. print(text)
  25. print(mess)
  26. if text is not None:
  27. message = xmpp.Message()
  28. tasklist.append(message)
  29. bot_log(" ".join(datetime.now(), i, "Заказ успешно добавлен в очередь обработки"))
  30. def open-st_request-assigned(tasklist):
  31. print("Тут описывается работа со списком задач в данном статусе")
  32. for i in range(len(tasklist)):
  33. #проверяем элемент tasklist[i]
  34. bot_log(" ".join(botname, datetime.now(), i, "Заказ в очереди на обработке"))
  35. if tasklist[i]:
  36. proceed_status("test@msg.sharix-app.org", tasklist[i])
  37. del tasklist[i]
  38. bot_log(" ".join(botname, datetime.now(), i, "Заказ успешно обработан и удален из очереди"))
  39. else:
  40. bot_log(" ".join(botname, datetime.now(), i, "Заказ оставлен в очереди"))
  41. #Авторизация и запуск бота
  42. #пустой список заказов
  43. tasklist = []
  44. #загружаем список заказов для обработки из базы (по идее, сюда попадаем в случае первого запуска или перезапуска)
  45. fake_api_call("Получаем список заказов по названию бота-обработчика")
  46. bot = JabberBot(JID, PASSWORD)
  47. bot.register_handler('message', message_handler)
  48. bot.start(open-st_request-assigned, tasklist)