GLaDOS/main.py

59 lines
1.3 KiB
Python
Raw Normal View History

2020-11-07 00:26:51 +01:00
#!/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