Vérifie si les flags de l'utilisateur visé correspondent aux flags définis
matchattr <handle> <flags> [channel]
Le masque de flags est de la forme [+/-]<global flags>[&/|<channel flags>[&/|<bot flags>]]
| ou & peuvent être utilisés comme séparateur entre les flags globaux, de canal et de bot, mais un seul séparateur peut être utilisé par section de flag. Un + est utilisé pour vérifier si un utilisateur possède les flags suivants, et un - est utilisé pour vérifier si un utilisateur ne possède PAS les flags suivants. Pour plus d'informations sur l'utilisation des flags, veuillez consulter la section Flags.
Si on fait une requête inversée (flag négatif) et que l'utilisateur visé est inconnu (<handle> *), la procédure matchattr retourne 0, donc c'est équivalent à dire que l'utilisateur a les flags visés. Il faut donc vérifier que l'utilisateur existe:
proc matest {nick uhost handle chan text} { if {$handle ne "*" && [matchattr $handle -l]} { putlog "--> $handle n'est probablement pas halfop" } else { putlog "<-- $handle est halfop" } } bind pub - "ho" matest