EchoBot.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import logging
  2. import slixmpp
  3. import config
  4. from datetime import datetime
  5. class JabberBot(slixmpp.ClientXMPP):
  6. """
  7. JabberBot
  8. """
  9. def __init__(self, jid, password):
  10. slixmpp.ClientXMPP.__init__(self, jid, password)
  11. # Register plugins
  12. self.register_plugin('xep_0030') # Service Discovery
  13. self.register_plugin('xep_0004') # Data Forms
  14. self.register_plugin('xep_0060') # PubSub
  15. self.register_plugin('xep_0199') # XMPP Ping
  16. def run(self):
  17. # TODO: Нужно ли
  18. # self.send_presence()
  19. # self.get_roster()
  20. logging.info(f"Bot {self.jid} started!")
  21. # Connect to the XMPP server and start processing XMPP stanzas.
  22. self.connect()
  23. def log(self, message):
  24. # надо строчку лога сделать более информативной
  25. logfile = open("logs/" + datetime.now().strftime('%Y-%m-%d') + "-" + self.user + ".log", "a")
  26. logfile.write(message)
  27. logfile.close()
  28. print(message)
  29. def stop(self):
  30. self.disconnect()