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