|
@@ -4,14 +4,60 @@ import config
|
|
from BotClass import JabberBot
|
|
from BotClass import JabberBot
|
|
import json
|
|
import json
|
|
import botrun
|
|
import botrun
|
|
|
|
+#раскомментировать, когда перейдем на разные пароли
|
|
|
|
+#import hashlib
|
|
|
|
+import datetime
|
|
|
|
|
|
#В этом файле содержится только то, что запускает конкретный обработчик
|
|
#В этом файле содержится только то, что запускает конкретный обработчик
|
|
|
|
|
|
-def open-st_request-assigned():
|
|
|
|
|
|
+botname="open-st_request-assigned"
|
|
|
|
+JID=botname+"@"+config.JSERVER
|
|
|
|
+PASSWORD=config.PASSWORD
|
|
|
|
+#раскомментировать, когда перейдем на разные пароли
|
|
|
|
+#PASSWORD=hashlib.md5((botname+config.PASSWORD).encode('utf-8')).hexdigest()
|
|
|
|
+#таким образом хранится список jid, от которых можно получать сообщения этому боту
|
|
|
|
+listen=["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:
|
|
|
|
+
|
|
|
|
+ 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("Тут описывается работа со списком задач в данном статусе")
|
|
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, "Заказ оставлен в очереди"))
|
|
|
|
|
|
#Авторизация и запуск бота
|
|
#Авторизация и запуск бота
|
|
-bot = JabberBot(config.JID, config.PASSWORD)
|
|
|
|
|
|
+
|
|
|
|
+#пустой список заказов
|
|
|
|
+tasklist = []
|
|
|
|
+
|
|
|
|
+#загружаем список заказов для обработки из базы (по идее, сюда попадаем в случае первого запуска или перезапуска)
|
|
|
|
+fake_api_call("Получаем список заказов по названию бота-обработчика")
|
|
|
|
+
|
|
|
|
+bot = JabberBot(JID, PASSWORD)
|
|
bot.register_handler('message', message_handler)
|
|
bot.register_handler('message', message_handler)
|
|
-bot.start(open-st_request-assigned)
|
|
|
|
|
|
+bot.start(open-st_request-assigned, tasklist)
|
|
|
|
|