ping pong
Browse files- utils/logger.py +22 -8
utils/logger.py
CHANGED
@@ -68,6 +68,10 @@ class IRCLogger:
|
|
68 |
# Join the IRC channel
|
69 |
self.join_channel()
|
70 |
|
|
|
|
|
|
|
|
|
71 |
def send_message(self, message):
|
72 |
self.socket.send(bytes("PRIVMSG {} :{}\r\n".format(self.channel, message), "UTF-8"))
|
73 |
|
@@ -76,16 +80,26 @@ class IRCLogger:
|
|
76 |
self.socket.send(bytes("USER {} 0 * :{}\r\n".format(self.nickname, self.nickname), "UTF-8"))
|
77 |
self.socket.send(bytes("JOIN {}\r\n".format(self.channel), "UTF-8"))
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
def log_message(self, message):
|
80 |
self.logger.info(message)
|
81 |
self.send_message(message)
|
82 |
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
|
|
|
|
|
|
68 |
# Join the IRC channel
|
69 |
self.join_channel()
|
70 |
|
71 |
+
# Start a thread to handle incoming messages
|
72 |
+
receive_thread = threading.Thread(target=self.receive_messages)
|
73 |
+
receive_thread.start()
|
74 |
+
|
75 |
def send_message(self, message):
|
76 |
self.socket.send(bytes("PRIVMSG {} :{}\r\n".format(self.channel, message), "UTF-8"))
|
77 |
|
|
|
80 |
self.socket.send(bytes("USER {} 0 * :{}\r\n".format(self.nickname, self.nickname), "UTF-8"))
|
81 |
self.socket.send(bytes("JOIN {}\r\n".format(self.channel), "UTF-8"))
|
82 |
|
83 |
+
def receive_messages(self):
|
84 |
+
while True:
|
85 |
+
data = self.socket.recv(4096).decode("UTF-8")
|
86 |
+
if data.startswith("PING"):
|
87 |
+
self.socket.send(bytes("PONG {}\r\n".format(data.split()[1]), "UTF-8"))
|
88 |
+
else:
|
89 |
+
self.logger.info(data)
|
90 |
+
|
91 |
def log_message(self, message):
|
92 |
self.logger.info(message)
|
93 |
self.send_message(message)
|
94 |
|
95 |
+
if __name__ == "__main__":
|
96 |
+
# Configure logging
|
97 |
+
logging.basicConfig(level=logging.INFO)
|
98 |
+
|
99 |
+
server = "irc.efnet.org"
|
100 |
+
port = 6667
|
101 |
+
nickname = "HFLogger"
|
102 |
+
channel = "#hflogs"
|
103 |
|
104 |
+
# logger = IRCLogger(server, port, nickname, channel)
|
105 |
+
# logger.log_message("This is a test log message from the IRC logger.")
|