Now works for ircv3 server
This commit is contained in:
parent
579f7df5a5
commit
b7d668cedf
24
bot/core.py
24
bot/core.py
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue