import xmpp from xmpp import cli import config from BotClass import JabberBot import json #раскомментировать, когда перейдем на разные пароли from datetime import datetime import time #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")