Update linkbot.py

Ora il bot può essere utilizzato in più muc. Un ringraziamento a Simone (xmpp: roughnecks@woodpeckersnest.space).
This commit is contained in:
Mario Sabatino 2024-03-24 12:18:10 +01:00
parent eaab218e31
commit a6100770a5

View file

@ -1,10 +1,11 @@
## LinkBot
## LinkBot v. 0.2
## Autore Mario Sabatino
## mario@sabatino.pro
## Questo software viene rilasciato con la licenza GPL3
##
## Ringraziamenti:
## Questo software è stato sviluppato con il supporto di ChatGPT, un modello di intelligenza artificiale sviluppato da OpenAI.
## Questo software è stato sviluppato con il supporto di ChatGPT, un modello di intelligenza artificiale sviluppato da OpenAI.
## Un ringraziamento a: Simome roughnecks@woodpeckersnest.space
#################################################################################################################################
@ -19,10 +20,10 @@ from slixmpp import ClientXMPP
class XMPPBot(ClientXMPP):
# Costruttore della classe
def __init__(self, jid, password, room, nick):
def __init__(self, jid, password, rooms, nick):
# Inizializzazione del client XMPP con le credenziali e informazioni di stanza
ClientXMPP.__init__(self, jid, password)
self.room = room
self.rooms = rooms
self.nick = nick
# Configurazione degli event handlers per gestire l'inizio della sessione e i messaggi della chat
@ -35,7 +36,7 @@ class XMPPBot(ClientXMPP):
self.send_presence()
await self.get_roster()
# Il bot si unisce alla stanza della chat usando il plugin 'xep_0045'
self.plugin['xep_0045'].join_muc(self.room, self.nick)
self.plugin['xep_0045'].join_muc(self.rooms, self.nick)
# Metodo asincrono per la gestione dei messaggi ricevuti nella chat di gruppo
async def muc_message(self, msg):
@ -77,11 +78,11 @@ if __name__ == '__main__':
# Impostazione delle credenziali e informazioni del bot
jid = "jidbot"
password = "password"
room = "nome@muc"
rooms = "nome@muc1", "nome@muc2"
nick = "nickbot"
# Creazione dell'istanza del bot e registrazione dei plugin necessari
xmpp = XMPPBot(jid, password, room, nick)
xmpp = XMPPBot(jid, password, rooms, nick)
xmpp.register_plugin('xep_0030') # Service Discovery
xmpp.register_plugin('xep_0045') # Multi-User Chat
xmpp.register_plugin('xep_0199') # XMPP Ping