programmazione:python:inviare_messaggio_xmpp
Inviare messaggio XMPP con Python
Autore: Fabio Di Matteo
Ultima revisione: 02/07/2025 12:31
Lo script fa uso di Slixmpp.
notify.py
#!/usr/bin/env python3 from conf import * import asyncio, ssl,sys from slixmpp import ClientXMPP from slixmpp.exceptions import IqError, IqTimeout class Messenger(ClientXMPP): def __init__(self, jid, password, recipient, message): super().__init__(jid, password) self.recipient = recipient self.message = message # Registrare i gestori degli eventi self.add_event_handler("session_start", self.start) #self.add_event_handler("message", self.message_received) async def start(self, event): self.send_presence() await self.get_roster() # Inviare il messaggio self.send_message(mto=self.recipient, mbody=self.message, mtype='chat') print(f'Messaggio inviato a {self.recipient}: {self.message}') # Disconnettersi dopo aver inviato il messaggio self.disconnect() #def message_received(self, msg): # print(f'Messaggio ricevuto: {msg["body"]}') def main(): recipient = sys.argv[1] message = sys.argv[2] xmpp = Messenger(jid, password, recipient, message) # Ignoro i certificati non conosciuti xmpp.ssl_context.check_hostname = False xmpp.ssl_context.verify_mode = ssl.CERT_NONE xmpp.connect() asyncio.get_event_loop().run_until_complete(xmpp.disconnected) if __name__ == '__main__': main()
conf.py
jid = 'mioaccountxmpp@server.org' password = 'secret'
Utilizzo
notify.py destinatario@xmppserver.org "Messaggio da inviare"
programmazione/python/inviare_messaggio_xmpp.txt · Ultima modifica: 02/07/2025 12:36 da Fabio Di Matteo