import sys, xmpp #Основной класс бота class JabberBot: def __init__(self, jid, password): jid = xmpp.JID(jid) self.user, self.server, self.password = jid.getNode(), jid.getDomain(), password self.connect() self.auth() #Метод проверки подключения к серверу xmpp def connect(self): self.conn = xmpp.Client(self.server, debug = []) conn_result = self.conn.connect() if not conn_result: print("Can't connect to server!\n") sys.exit(1) #Метод аутентификации def auth(self): auth_result = self.conn.auth(self.user, self.password) if not auth_result: print("Can't to authorize!\n") sys.exit(1) #Метод для привязки функций к событиям def register_handler(self, name, handler): self.conn.RegisterHandler(name, handler) def step_on(self): try: self.conn.Process(1) #с какой частотой происходит подключение к серверу, в данном случае каждую секунду except KeyboardInterrupt: return 0 return 1 #сюда можно как параметры передавать переменную для значения Process в вызываемой функции, а также передавать информацию о том, какой из обработчиков ввызывать в бесконечном цикле def start(self): self.conn.sendInitPresence()#статус аккаунта бота (активен или нет) print("Bot started!") while self.step_on(): #тут, по идее, надо размещать проверку элементов списка pass