import socket from threading import Thread from irc import IRC from secrets import USER, PASSWORD class Bot(object): def __init__(self, irc, v5, channels): self.irc = IRC(*irc) self.channels = channels self._sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) self._v5_handler = Thread(target=self._handle_v5) self._sock.bind(v5) def start(self): # Start IRC self.irc.start(USER, PASSWORD) # Join channels for c in self.channels: self.irc.join(c) # Start v5 handler self._v5_handler.start() # Run IRC self.irc.run() def _handle_v5(self): while True: data, addr = self._sock.recvfrom(4096) data = data.decode() print(f"v5: Received <{data}>") self.irc.send("#glados", data)