import xmpp from xmpp import cli import config from BotClass import JabberBot import json import botrun #раскомментировать, когда перейдем на разные пароли import hashlib from datetime import datetime #В этом файле содержится только то, что запускает конкретный обработчик botname="open-st_request-assigned" JID=botname+"@"+config.JSERVER PASSWORD=config.PASSWORD #раскомментировать, когда перейдем на разные пароли #PASSWORD=hashlib.md5((botname+config.PASSWORD).encode('utf-8')).hexdigest() #таким образом хранится список jid, от которых можно получать сообщения этому боту listen_to=["test@msg.sharix-app.org", "test1@msg.sharix-app.org"] #тут хранится список jid, кому бот может отправлять сообщения в результате обработки заявки process_to=["test@msg.sharix-app.org", "test1@msg.sharix-app.org"] # обработчик входящих сообщений def message_handler(conn, mess): text = mess.getBody()#текст сообщения боту user = mess.getFrom()#отправитель сообщения #нужна проверка, данный обработчик вообще должен от данного отправителя получать сообщения или нет. Подсказка ниже if user in listen_to: print(text) print(mess) if text is not None: message = xmpp.Message() tasklist.append(message) bot_log(" ".join(datetime.now(), i, "Заказ успешно добавлен в очередь обработки")) def open-st_request-assigned(tasklist): print("Тут описывается работа со списком задач в данном статусе") for i in range(len(tasklist)): #проверяем элемент tasklist[i] bot_log(" ".join(botname, datetime.now(), i, "Заказ в очереди на обработке")) if tasklist[i]: proceed_status("test@msg.sharix-app.org", tasklist[i]) del tasklist[i] bot_log(" ".join(botname, datetime.now(), i, "Заказ успешно обработан и удален из очереди")) else: bot_log(" ".join(botname, datetime.now(), i, "Заказ оставлен в очереди")) #Авторизация и запуск бота #пустой список заказов tasklist = [] bot = JabberBot(JID, PASSWORD) #загружаем список заказов для обработки из базы (по идее, сюда попадаем в случае первого запуска или перезапуска) fake_api_call("Получаем список заказов по названию бота-обработчика") bot.register_handler('message', message_handler) bot.start(open-st_request-assigned, tasklist)