12345678910111213141516171819202122232425262728293031323334353637383940 |
- import logging
- import slixmpp
- import config
- from datetime import datetime
- class JabberBot(slixmpp.ClientXMPP):
- """
- JabberBot
- """
- def __init__(self, jid, password):
- slixmpp.ClientXMPP.__init__(self, jid, password)
- # Register plugins
- self.register_plugin('xep_0030') # Service Discovery
- self.register_plugin('xep_0004') # Data Forms
- self.register_plugin('xep_0060') # PubSub
- self.register_plugin('xep_0199') # XMPP Ping
- def run(self):
- # TODO: Нужно ли
- # self.send_presence()
- # self.get_roster()
- logging.info(f"Bot {self.jid} started!")
- # Connect to the XMPP server and start processing XMPP stanzas.
- self.connect()
- def log(self, message):
- # надо строчку лога сделать более информативной
- logfile = open("logs/" + datetime.now().strftime('%Y-%m-%d') + "-" + self.user + ".log", "a")
- logfile.write(message)
- logfile.close()
- print(message)
- def stop(self):
- self.disconnect()
|