J'ai retrouvé plus ou moins par hasard une procédure très pratique pour générer des masks (pour le ban ou pour ajouter un utilisateur dans un eggdrop) faite par MC_8.
Je la mets ici pour pense-bête, sachant que je prépare un package "cc.alltools" qui contiendra toutes les procédures très pratiques qu'on utilise fréquement.
Enjoy it !
Je la mets ici pour pense-bête, sachant que je prépare un package "cc.alltools" qui contiendra toutes les procédures très pratiques qu'on utilise fréquement.
tcl
#- masktype{} is based upon the original by MC_8
# returns a modified mask (to add user, ban user, ...)
proc masktype {uhost type} {
# 0 = *!user@host.domain
# 1 = *!*user@host.domain
# 2 = *!*@host.domain
# 3 = *!*user@*.domain
# 4 = *!*@*.domain
# 5 = nick!user@host.domain
# 6 = nick!*user@host.domain
# 7 = nick!*@host.domain
# 8 = nick!*user@*.domain
# 9 = nick!*@*.domain
# 10 = nick*!*@*.domain
# 11 = regular eggdrop mask
set masked [maskhost $uhost]
set nick [string range $uhost 0 [expr [string first ! $uhost] - 1]]
switch -- $type {
0 {set ban "*[string range $uhost [string first ! $uhost] e]"}
1 {set ban "*!*[string trimleft [string range $uhost [expr [string first ! $uhost] + 1] e] "~"]"}
2 {set ban "*!*[string range $uhost [string first @ $uhost] e]"}
3 {set ident [string range $uhost [expr [string first ! $uhost] + 1] [expr [string last @ $uhost] - 1]] ; set ban "*!*[string trimleft $ident ~][string range $masked [string first @ $masked] e]"}
4 {set ban "*!*[string range $masked [string last @ $masked] e]"}
5 {set ban $uhost}
6 {set ident [string range $uhost [expr [string first ! $uhost] + 1] [expr [string last @ $uhost] - 1]] ; set ban "$nick!*[string trimleft $ident ~][string range $uhost [string last @ $uhost] e]"}
7 {set ban "$nick!*[string range $uhost [string last @ $uhost] e]"}
8 {set ident [string range $uhost [expr [string first ! $uhost] + 1] [expr [string last @ $uhost] - 1]] ; set ban "$nick!*[string trimleft $ident ~][string range $masked [string last @ $masked] e]"}
9 {set ban "$nick!*[string range $masked [string last @ $masked] e]"}
10 {set ban "$nick*!*[string range $masked [string last @ $masked] e]"}
default {set ban "*!*[string range $uhost [string first @ $uhost] e]"}
}
return $ban
}
Enjoy it !