Allow current nick substitution in IRC commands

This commit is contained in:
Mark Veidemanis 2022-08-14 15:53:18 +01:00
parent 8c809ad444
commit 2fdd0cf6b8
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
2 changed files with 9 additions and 1 deletions

View File

@ -4,6 +4,7 @@
"entity": "NickServ", "entity": "NickServ",
"domains": [], "domains": [],
"registermsg": "REGISTER {password} {email}", "registermsg": "REGISTER {password} {email}",
"identifymsg": "IDENTIFY {password}",
"confirm": "CONFIRM {token}", "confirm": "CONFIRM {token}",
"check": true, "check": true,
"ping": true, "ping": true,

View File

@ -2,7 +2,7 @@ from copy import deepcopy
from random import choice from random import choice
import main import main
from modules import provision from modules import provision, helpers
from utils.logging.debug import debug from utils.logging.debug import debug
from utils.logging.log import error from utils.logging.log import error
@ -61,10 +61,17 @@ def substitute(net, num, token=None):
# username = nickname + "/" + net # username = nickname + "/" + net
password = main.network[net].aliases[num]["password"] password = main.network[net].aliases[num]["password"]
# inst["email"] = inst["email"].replace("{nickname}", nickname) # inst["email"] = inst["email"].replace("{nickname}", nickname)
name = f"{net}{num}"
if name in main.IRCPool:
curnick = main.IRCPool[name].nickname
else:
curnick = nickname
for i in inst.keys(): for i in inst.keys():
if not isinstance(inst[i], str): if not isinstance(inst[i], str):
continue continue
inst[i] = inst[i].replace("{nickname}", nickname) inst[i] = inst[i].replace("{nickname}", nickname)
inst[i] = inst[i].replace("{curnick}", curnick)
inst[i] = inst[i].replace("{password}", password) inst[i] = inst[i].replace("{password}", password)
inst[i] = inst[i].replace("{email}", email) inst[i] = inst[i].replace("{email}", email)
if token: if token: