#!/usr/bin/env python import sys import time from threading import Thread # from queue import Queue from utils import create_socket, IRC server_name = 'localhost' server_port = 5500 NICK = "GLaDOS" PASSWORD = "abcdef123456" class Bot(object): def __init__(self, irc, v5): self.irc = IRC(irc) self.v5_sock = create_socket("v5", v5) self.channels = ["#general", "#glados"] self.connected = False # Dirty lock def run(self): # Start a thread for raw IRC messages Thread(target=self.irc.raw_handle).start() # Authenticate to server self.irc.connect(NICK, PASSWORD) for c in self.channels: self.irc.join(c) # Finally, handle v5 messages while True: data, addr = self.v5_sock.recvfrom(4096) data = data.decode() print(f"v5: Received <{data}>") self.irc.msg(data, "#glados") def handle_irc(self): self.connected = True print("irc connected") while True: msg = self.irc.get_msg() print(f"IRC: {data}") if "Hello" in msg: self.irc.msg("Hello :)", "#glados") glados = Bot( ('irc.planet-casio.com', 6697), ('127.0.0.1', 5555) ) glados.run() #abcdef123456