[script] advoice
#3
En lisant le code, il me semble qu'il y a un problème si un user cumule plusieurs modes et est par exemple voicé, halfopé et opé.
Une fois le temps d'idle max atteint, il sera d'abord déopé, puis déhalfopé 1mn après, puis dévoicé encore 1mn après.
Je propose le correctif suivant :
tcl
proc check {min hour day month year} {
	foreach chan [channels] {
		set idlemax [channel get $chan advoice]
		if { $idlemax == 0 } {
			continue
		} else {
			foreach nick [chanlist $chan] {
				foreach protected $::advoice::protected {
					if { [lsearch -nocase [::advoice::filt [split $protected]] [::advoice::filt [split $nick]]] != -1 } {
						putlog "protected -> [::advoice::filt [split $protected]]"
						continue
					} else {
						if { [getchanidle $nick $chan] > $idlemax } {
							if { $::advoice::opasvoice } {
								if { [isop $nick $chan] } {
									::advoice::deop $nick $chan
								}
								if { [ishalfop $nick $chan] } {
								::advoice::dehalfop $nick $chan
								}
							}
							if { [isvoice $nick $chan] } {
								::advoice::devoice $nick $chan
							}
						}
					}
				}
			}
		}
	}
}



De plus, la proc filt pourrait être optimisée en :
tcl
proc filt {data} {
	return [regsub -all {\W} $data {\\&}]
}


Répondre


Messages dans ce sujet
[script] advoice - par CrazyCat - 26/06/2013, 13:10
RE: [script] advoice - par CrazyCat - 26/06/2013, 13:13
RE: [script] advoice - par MenzAgitat - 14/04/2017, 16:53
RE: [script] advoice - par CrazyCat - 13/01/2024, 16:03
RE: [script] advoice - par Amand - 13/01/2024, 20:33
RE: [script] advoice - par CrazyCat - 23/03/2024, 15:25

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté Tchatte avec Axelle Tchatte avec ta banquière