Masques utilisateurs
#1
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.
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 !
  Répondre   Avertir
#2
Petit edit: j'ai supprimé des parties inutiles et ajouté un masque (le 10)
  Répondre   Avertir
#3
Et le mask (11) ?
  Répondre   Avertir
#4
Le masque par défaut. Mais je crois que j'ai un peu trop nettoyé le code, je revois ça très vite
  Répondre   Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)