add nickserv support
This commit is contained in:
parent
c9aa98d225
commit
82313c091e
|
@ -59,3 +59,4 @@ docs/_build/
|
|||
target/
|
||||
|
||||
venv/
|
||||
account.ini
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[nickserv]
|
||||
username = bensbots
|
||||
password = my super secret password
|
||||
|
17
tracer.py
17
tracer.py
|
@ -22,6 +22,12 @@ config = configparser.ConfigParser(
|
|||
config.read("config.ini")
|
||||
bot = config["irc"]
|
||||
|
||||
# read account info if it exists
|
||||
if os.path.isfile("account.ini"):
|
||||
account = configparser.ConfigParser()
|
||||
account.read("account.ini")
|
||||
account = account["nickserv"]
|
||||
|
||||
|
||||
def grammar(rules):
|
||||
try:
|
||||
|
@ -45,6 +51,7 @@ def populate():
|
|||
DB = {}
|
||||
for p in glob.glob("/home/*/.tracery/*"):
|
||||
name, ext = os.path.splitext(p)
|
||||
name = os.path.basename(name)
|
||||
if name.startswith(".") or ext not in (".json", ""):
|
||||
continue
|
||||
if p in DB:
|
||||
|
@ -159,13 +166,16 @@ if __name__ == "__main__":
|
|||
rawsend(f"JOIN {chan}")
|
||||
|
||||
if "001" in msg:
|
||||
if account is not None:
|
||||
rawsend(
|
||||
"SQUERY NickServ IDENTIFY %s %s"
|
||||
% (account["username"], account["password"])
|
||||
)
|
||||
for c in bot.getlist("channels"):
|
||||
rawsend(f"JOIN {c}")
|
||||
rawsend("MODE %s +B" % bot["nick"])
|
||||
|
||||
m = re.match(
|
||||
":(?P<nick>[^ ]+)!.*PRIVMSG #(?P<chan>\w+) :(?P<msg>.*)", msg
|
||||
)
|
||||
m = re.match(":(?P<nick>[^ ]+)!.*PRIVMSG #(?P<chan>\w+) :(?P<msg>.*)", msg)
|
||||
if m and m.groupdict():
|
||||
m = m.groupdict()
|
||||
try:
|
||||
|
@ -174,4 +184,3 @@ if __name__ == "__main__":
|
|||
print("ERROR" + str(m))
|
||||
print(e)
|
||||
traceback.print_exc()
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ After=tracer.service
|
|||
[Service]
|
||||
Type=simple
|
||||
WorkingDirectory=/home/ben/workspace/tracer
|
||||
ExecStart=/home/ben/workspace/tracer/venv/bin/python3 /home/ben/workspace/tracer/tracer.py
|
||||
ExecStart=/home/ben/workspace/tracer/venv/bin/python3 tracer.py
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StartLimitInterval=60s
|
||||
|
|
Loading…
Reference in New Issue