bind time - "59 23 * * *" ajusterleslistes_timer proc ajusterleslistes_timer {min hour day month year} { utimer 5 { dcc_liste "zero" 999 "membres" } utimer 10 { dcc_liste "zero" 999 "mails" } utimer 15 { dcc_liste "zero" 999 "equipe" } utimer 20 { dcc_liste "zero" 999 "alias" } utimer 25 { dcc_liste "zero" 999 "majordomo" } utimer 30 { dcc_liste "zero" 999 "accesweb" } utimer 35 { dcc_liste "zero" 999 "specialites" } utimer 45 { dcc_olines "AideBot" 0 "" } } #################### ### Maintenance ### #################### bind dcc A liste dcc_liste proc dcc_liste {hand idx args} { set args [lindex $args 0] if {$args == "mails"} { set liste_degre "G C-G T-G O-A R-O-J J-R-P P-O-J M H N" set fichier_liste "/aide/www/admins/liste_alias-mails.txt" set fd [open $fichier_liste w] puts $fd "----------------------------------------------------------------" puts $fd "-== Liste des e-mail par membre: ([dire_date [unixtime]]) ==-" puts $fd "----------------------------------------------------------------" puts $fd "" foreach degre [split $liste_degre] { foreach hand [userlist $degre] { puts $fd [format "%-20s %-30s %-30s" [getuser $hand xtra vrainick] [getuser $hand XTRA email] [getuser $hand XTRA mail]] } } close $fd return 1 } elseif {$args == "specialites"} { set fichier_liste "/aide/www/admins/specialites.txt" set fd [open $fichier_liste w] puts $fd "---------------------------------------------------------------------" puts $fd "-== Liste des spécialités par membre: ([dire_date [unixtime]]) ==-" puts $fd "---------------------------------------------------------------------" puts $fd "" foreach hand [userlist p] { puts $fd [format "%-20s %-30s" [getuser $hand xtra vrainick] [getuser $hand XTRA specialites]] } close $fd return 1 } elseif {$args == "alias"} { set fichier_liste "aliasesundernet.txt" set fd [open $fichier_liste w] puts $fd "# Liste des alias pour les mails @aide.igt.net #" foreach user [userlist AGTCMNOJRPH] { if [matchattr $user A] { puts $fd "[string tolower [getuser $user xtra vrainick]]@aide.igt.net: [string tolower [getuser $user xtra email]]" } else { puts $fd "[string tolower [getuser $user xtra vrainick]]@aide.igt.net: /dev/null" } } close $fd return 1 } elseif {$args == "accesweb"} { set fichier_liste "htgroups.txt" set fd [open $fichier_liste w] set liste "admins: " foreach user [userlist A] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste set liste "admgen: " foreach user [userlist G] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste set liste "admcan: " foreach user [userlist C] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste set liste "admproj: " foreach user [userlist T] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste set liste "ops: " foreach user [userlist O] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste set liste "membres: " foreach user [userlist AGTCMNOJRPH-S] { lappend liste [getuser $user xtra vrainick] } puts $fd $liste close $fd return 1 } elseif {$args == "majordomo"} { set f_admins "liste-admins" set f_admgen "liste-admgen" set f_admcan "liste-admcan" set f_admproj "liste-admproj" set f_membres "liste-membres" set f_A [open $f_admins w] set f_G [open $f_admgen w] set f_C [open $f_admcan w] set f_T [open $f_admproj w] set f_M [open $f_membres w] foreach user [userlist AGTCMNOJRPH] { if [matchattr $user A] { puts $f_A "[getuser $user xtra email]" } if [matchattr $user G] { puts $f_G "[getuser $user xtra email]" } if [matchattr $user C] { puts $f_C "[getuser $user xtra email]" } if [matchattr $user T] { puts $f_T "[getuser $user xtra email]" } puts $f_M "[getuser $user xtra email]" } close $f_A close $f_G close $f_C close $f_T close $f_M return 1 } elseif {$args == "membres"} { set liste_degre "G C-G T-G O-A J M H N" set fichier_liste "/aide/www/bot/membres.txt" set fd [open $fichier_liste w] puts $fd "IX.2.1. La liste des membres du canal d'#Aide du [dire_date [unixtime]] se lit comme suit:" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "Poste/Alias W AideBot +" puts $fd " (Date d'arrivée) #Aide #Cours" puts $fd " (Date de promotion) (Légende en bas)" puts $fd "-----------------------------------------------------------------------------------------" puts $fd " ( Responsabilités )" puts $fd "-----------------------------------------------------------------------------------------" foreach degre [split $liste_degre] { if {$degre == "G"} { puts $fd "" puts $fd "Administrateurs généraux ( S'occupent des aspets généraux, du maintien, des relations" puts $fd "------------------------ extérieures, des robots, etc. )" puts $fd "" } elseif {$degre == "C-G"} { puts $fd "" puts $fd "Administrateurs canal ( S'assurent de garder le canal #Aide en bon ordre de marche." puts $fd "--------------------- Gestions générale des accès. )" puts $fd "" } elseif {$degre == "T-G"} { puts $fd "" puts $fd "Administrateurs projets ( Coordonnent et assure la poursuite des projets reliés au" puts $fd "----------------------- canal, à la page web, aux scripts, à #Cours, etc. )" puts $fd "" } elseif {$degre == "O-A"} { puts $fd "" puts $fd "Opérateurs canal ( Assurent la protection du canal. )" puts $fd "----------------" puts $fd "" } elseif {$degre == "J"} { puts $fd "" puts $fd "Opérateurs canal adjoints ( Assurent le respect des règles sur canal. )" puts $fd "-------------------------" puts $fd "" } elseif {$degre == "M"} { puts $fd "" puts $fd "Membres officiels ( Répondent aux questions sur le canal et aident les nouveaux" puts $fd "----------------- dans leur intégration au canal. )" puts $fd "" } elseif {$degre == "H"} { puts $fd "" puts $fd "Membres honoraires ( Membres dorénavents moins actifs, mais ayant beaucoup" puts $fd "------------------ apporté au canal dans le passé. )" puts $fd "" } elseif {$degre == "N"} { puts $fd "" puts $fd "Nouveaux membres ( Répondent aux questions des visiteurs et apprennent les us" puts $fd "---------------- et règles du canal. )" puts $fd "" } else { } foreach hand [userlist $degre] { if [matchattr $hand -S&v #Aide] { set auto_v "auto" } else { set auto_v "" } if [matchattr $hand S] { set date_prom "[getuser $hand XTRA prom] SUSPENDU" } puts $fd [format "%-10s %-10s %-16s %-6s %-11s %-23s %-12s" $hand [dire_date [getuser $hand XTRA date]] [dire_date [getuser $hand XTRA prom]] [getuser $hand XTRA acces] [getuser $hand XTRA accescours] [chattr $hand] $auto_v] } } puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd " Les projets du canal #Aide:" puts $fd " --------------------------" foreach projet [getuser aidebot xtra projets] { puts $fd "" set resp "" set adj "" set part "" puts $fd " « $projet »" foreach user [userlist RP] { if [string match *$projet* [getuser $user xtra responsable]] { lappend resp [getuser $user xtra vrainick] } elseif [string match *$projet* [getuser $user xtra adjoint]] { lappend adj [getuser $user xtra vrainick] } elseif [string match *$projet* [getuser $user xtra participant]] { lappend part [getuser $user xtra vrainick] } else { } } puts $fd " Responsable: $resp" puts $fd " Adjoint: $adj" puts $fd " Participants: $part" } puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd " Administrateurs généraux: [llength [userlist G]]" puts $fd " Administrateurs canal: [llength [userlist C-G]]" puts $fd " Administrateurs projets: [llength [userlist T-G]]" puts $fd " Opérateurs canal: [llength [userlist O-A]]" puts $fd " Opérateurs canal adjoints: [llength [userlist J]]" puts $fd " Responsables de projet: [llength [userlist R]]" puts $fd " Participants projet: [llength [userlist P]]" puts $fd " Membres officiels (uniquement): [llength [userlist M]]" puts $fd " Membres honoraires: [llength [userlist H]]" puts $fd " Nouveaux membres: [llength [userlist N]]" puts $fd " --" puts $fd " Nombre de membres total: [llength [userlist ACTGOJRPMNHS]]" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "Légende partielle:" puts $fd " A = Administrateur général" puts $fd " C = Administrateur canal" puts $fd " T = Administrateur projet" puts $fd " O = Opérateur" puts $fd " J = Opérateur adjoint" puts $fd " R = Responsable de projet" puts $fd " P = Participant projet" puts $fd " M = Membre officiel" puts $fd " H = Membre honoraire" puts $fd " N = Nouveau membre" puts $fd " ----------------------" puts $fd " S = Accès suspendu" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" puts $fd " -> Cette liste est maintenue à jour par AideBot :~p" puts $fd "" puts $fd "-----------------------------------------------------------------------------------------" puts $fd "" close $fd return 1 } elseif {$args == "equipe"} { foreach user [userlist A] { lappend listeA "$user [getuser $user xtra date]" } set listeA [classement $listeA +] foreach user [userlist OJRPMH-A] { lappend listeM "$user [getuser $user xtra date]" } set listeM [classement $listeM +] foreach user [userlist N] { lappend listeN "$user [getuser $user xtra date]" } set listeN [classement $listeN +] set fichier_liste "/aide/www/bot/equipe.html" set fd [open $fichier_liste w] puts $fd "La page de l'équipe

" puts $fd "" puts $fd "" foreach user $listeA { cycle_equipe [lindex $user 0] $fd } puts $fd "" puts $fd "

" puts $fd "" foreach user $listeM { cycle_equipe [lindex $user 0] $fd } puts $fd "" puts $fd "

" puts $fd "" foreach user $listeN { cycle_equipe [lindex $user 0] $fd } puts $fd "" puts $fd "

 

" close $fd return 1 } else { putdccsi $idx "## Outils de maintenance des listes. - Options: .liste " return 0 } } proc cycle_equipe {user fd} { set nick [getuser $user xtra vrainick] set pays [getuser $user xtra pays] set ddm [dire_date [getuser $user xtra date]] set mail [getuser $user xtra mail] set url [getuser $user xtra url] set icq [getuser $user xtra icq] set ddn [dire_date [getuser $user xtra ddn]] set txt [getuser $user info] if {[getuser $user xtra sexe] == "H"} { set sexe "gars.gif" } else { set sexe "fille.gif" } if [matchattr $user N] { set txt "Nouveau membre en évaluation ..." } set voir " [getuser $user xtra afficher] " set aphoto 0 set amail 0 set aicq 0 set aurl 0 set addn 0 if [string match *photo* $voir] {set aphoto 1} if [string match *mail* $voir] {set amail 1} if [string match *icq* $voir] {set aicq 1} if {$url != ""} {set aurl 1} if {$ddn != "31Dec19??"} {set addn 1} if {$mail == ""} {set amail 0} if {$icq == ""} {set aicq 0} set tmail "" set turl "" set ticq "" set tddn "" set tphoto "" if $amail { set tmail "Clic ici pour envoyer un courriel  " } if $aurl { set turl "Clic ici pour voir la page web personnelle  " } if $aicq { set ticq "Clic ici pour envoyer une note via ICQ  " } if $addn { set tddn "$ddn   " } if $aphoto { set tphoto "Clic ici pour voir ma photo  " } puts $fd "" puts $fd "" puts $fd "
" puts $fd "$pays
$nick$ddm   $tmail$turl$ticq
       $txt$tddn   $tphoto
" } # classer les nicks par date de membership? # ajouter des alt pour toutes les infos ...