import json import time # раскомментировать, когда перейдем на разные пароли from datetime import datetime import xmpp # test import jsonAndRequest as jsreq def proceed_status(self, recipient, ticket): # тут могут быть различные проверки дополнительные, а так вообще эта функция нужна для передачи заявки на обработку следующему jsonTicket = json.dumps(ticket.__dict__) self.conn.send(xmpp.Message(recipient, jsonTicket)) self.bot_log("Message sent successfully" + " " + recipient + " " + jsonTicket) # обработчик входящих сообщений def message_handler(self, conn, mess): text = mess.getBody() # текст сообщения боту user = mess.getFrom() # отправитель сообщения # проверка на возможность получения сообщений от данного обработчика print(str(user).split("/")[0]) if (str(user).split("/")[0]) in listen_to: print(text) print(mess) if text is not None: orderObj = jsreq.jsonToOrderTicket(text) print(orderObj) tasklist.append(orderObj) self.bot_log(str(datetime.now()) + " Поступивший заказ успешно добавлен в очередь обработки\n") # TODO - для обработчиков Ticket скорее надо будет функции вынести в отдельную библиотеку, они типовые же def pending_wait(self, period, localtask, proceed_to): self.bot_log(botname + " " + str(datetime.now()) + " " + "Заказ ожидает пользовательской реакции\n") time.sleep(period) # ВАЖНО! НАДО ВСТАВИТЬ ИЗМЕНЕНИЕ СТАТУСА ЧЕРЕЗ API # обязательно данный обработчик должен заканчиваться передачей заказа куда-то на обработку дальше - обратно или другому, иначе оно потеряется self.proceed_status(proceed_to, localtask) self.bot_log(botname + " " + str(datetime.now()) + " " + "Заказ отправлен в очередь " + proceed_to + "\n") def order_close(self, localtask): # тут надо вызов API с удалением self.bot_log(botname + " " + str(datetime.now()) + " " + "Заказ удален\n")