Now works for ircv3 server

This commit is contained in:
aewens 2019-05-06 18:15:44 -04:00
parent 579f7df5a5
commit b7d668cedf
1 changed files with 14 additions and 10 deletions

View File

@ -1,4 +1,5 @@
import re
import sys
import ssl
import time
import json
@ -120,6 +121,8 @@ class Bot:
return text.split("!", 1)[0][1:]
def parse_name(self, name):
if len(name) == 0 or name is None:
return name
if name[0] in ["~", "@", "+", "%"]:
return name[1:]
else:
@ -236,7 +239,10 @@ class Bot:
logger.setFormatter(logging.Formatter(logfmt, datefmt))
self.logger.addHandler(logger)
self.ircsock.connect((self.server, self.port))
try:
self.ircsock.connect((self.server, self.port))
except ConnectionRefusedError:
sys.exit(1)
self.send("USER {0} {0} {0} {0}", self.botnick)
self.send("NICK {0}", self.botnick)
@ -245,20 +251,18 @@ class Bot:
email = self.settings["email"] or ""
magic_phrase = {
"has_registered": "Password",
"has_registered": "Password accepted",
"needs_to_register": "choose a different nick",
"needs_to_confirm": "Your account will expire",
"not_registered": "Your nickname is not registered"
#"ready_to_id": "is now your displayed host",
#"nickserv_missing": "No such nick/channel"
}
authenticate = len(password) > 0 and len(confirm) > 0
magic_string = "MODE {} +r".format(self.botnick)
magic_string = "MODE {} :+r".format(self.botnick)
while magic_string not in message and authenticate:
try:
message = self.ircsock.recv(self.recv_size).decode()
print(message)
except UnicodeDecodeError:
continue
@ -329,11 +333,11 @@ class Bot:
self.logger.debug(message)
if "nick" in callback:
callback["nick"](old_name, new_name)
elif "KICK " in message:
kicker, source = self.handle_kick(message)
self.logger.debug(message)
if "kick" in callback:
callback["kick"](kicker, source)
#elif "KICK " in message:
# kicker, source = self.handle_kick(message)
# self.logger.debug(message)
# if "kick" in callback:
# callback["kick"](kicker, source)
elif "JOIN " in message:
user = self.handle_join(message)
self.logger.debug(message)