Merge pull request #7 from adator85/dev

Fix KeyError when a user change nickname
This commit is contained in:
adator
2024-02-20 01:12:32 +01:00
committed by GitHub
2 changed files with 17 additions and 14 deletions

View File

@@ -6,7 +6,7 @@ import os
class Config: class Config:
DEFENDER_VERSION = '1.1.0' # MAJOR.MINOR.BATCH DEFENDER_VERSION = '3.2.2' # MAJOR.MINOR.BATCH
DEFENDER_DB_PATH = 'db' + os.sep # Séparateur en fonction de l'OS DEFENDER_DB_PATH = 'db' + os.sep # Séparateur en fonction de l'OS
DEFENDER_DB_NAME = 'defender' # Le nom de la base de données principale DEFENDER_DB_NAME = 'defender' # Le nom de la base de données principale
SERVICE_NAME = 'defender' # Le nom du service SERVICE_NAME = 'defender' # Le nom du service

View File

@@ -738,21 +738,24 @@ class Defender():
case 'NICK': case 'NICK':
# :0010BS24L NICK [NEWNICK] 1697917711 # :0010BS24L NICK [NEWNICK] 1697917711
# Changement de nickname # Changement de nickname
cmd.pop(0) try:
uid = str(cmd[0]).replace(':','') cmd.pop(0)
oldnick = self.db_reputation[uid]['nickname'] uid = str(cmd[0]).replace(':','')
newnickname = cmd[2] oldnick = self.db_reputation[uid]['nickname']
newnickname = cmd[2]
jail_salon = self.Config.SALON_JAIL
service_id = self.Config.SERVICE_ID
self.update_db_reputation(uid, newnickname) jail_salon = self.Config.SALON_JAIL
service_id = self.Config.SERVICE_ID
if uid in self.db_reputation: self.update_db_reputation(uid, newnickname)
for chan in self.Irc.db_chan:
if chan != jail_salon: if uid in self.db_reputation:
self.Irc.send2socket(f":{service_id} MODE {chan} -b {oldnick}!*@*") for chan in self.Irc.db_chan:
self.Irc.send2socket(f":{service_id} MODE {chan} +b {newnickname}!*@*") if chan != jail_salon:
self.Irc.send2socket(f":{service_id} MODE {chan} -b {oldnick}!*@*")
self.Irc.send2socket(f":{service_id} MODE {chan} +b {newnickname}!*@*")
except KeyError as ke:
self.Irc.debug(f'cmd - NICK - KeyError: {ke}')
case 'QUIT': case 'QUIT':
# :001N1WD7L QUIT :Quit: free_znc_1 # :001N1WD7L QUIT :Quit: free_znc_1