123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import xmpp
- from xmpp import cli
- import config
- from BotClass import JabberBot
- import json
- # загрузка json файла
- def read_inf(file_name):
- with open(file_name, 'r', encoding="utf-8") as file:
- return json.load(file)
- # обработчик входящих сообщений
- def message_handler(conn, mess):
- text = mess.getBody()#текст сообщения боту
- user = mess.getFrom()#отправитель сообщения
- applications = read_inf("applications.json")
- print(text)
- print(mess)
- if text is not None:
- message = xmpp.Message()
- applications = read_inf("applications.json")
- #если бот получает сообщение, соответсвующее значению id("1","2","3")
- #он отправит описание desc этого определенного объекта
- for app in applications["applications"]:
- if app.get("id") == text:
- message.setBody(app.get("desc"))
- # если бот получает сообщение, он отправляет такое же сообщение отправителю
- # message.setBody(text)
- message.setFrom(config.JID)
- message.setTo(user)
- message.setType('chat')
-
- conn.send(message)
- # пример функции, которую можно вызвать из любой части кода для отправки сообщения от бота пользователю
- def simple_send_message():
- cli.send_message(config.JID, config.PASSWORD, "test@msg.sharix-app.org", "request.data")
- #Авторизация и запуск бота
- bot = JabberBot(config.JID, config.PASSWORD)
- bot.register_handler('message', message_handler)
- bot.start()
|