Communauté Eggdrop
[Demande] aide pour une modification pour whois - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : [Demande] aide pour une modification pour whois (/showthread.php?tid=1444)

Pages : 1 2


RE: aide pour une modification pour whois - CrazyCat - 20/10/2013

J'ai fait un code à http://tools.eggdrop.fr/pasteme/view/f43cf44b

Ca tient en 2 procédures:
- whoisAll est appelée toutes les 5 minutes, elle fait un /whois sur toutes les personnes dans l'userlist de l'eggdrop qui ne sont pas sur le canal,
- whoisInvite réagit au raw 311 (RPL_WHOISUSER)

Deux gros soucis dans ce script simpliste (je ne donne que la mécanique là):
- risque de flood, que ce soit dans les /whois ou dans les réponses serveur,
- aucun contrôle dans la procédure d'invit


RE: aide pour une modification pour whois - MenzAgitat - 20/10/2013

loulou7593 a écrit :Voila en fait ce serais pas mal ca quand la personne se connecte au server que ca lui envoi une invite.
/NOTIFY (commande serveur) peut t'aider.

Mon Eggdrop l'utilise pour réinviter sur un chan les utilisateurs qui partent en ping timeout ou en connection reset by peer aussitôt qu'ils se reconnectent au serveur.


RE: aide pour une modification pour whois - loulou7593 - 20/10/2013

Merci pour les réponses, je vais regarder ca.


RE: aide pour une modification pour whois - loulou7593 - 27/10/2013

Merci @Crazycat pour le code j'ai testé vite fait,
j'ai juste vu que ca me donnais une erreur en PL
Code :
Tcl error [whoisAll]: can't read "nick": no such variable
.


RE: aide pour une modification pour whois - CrazyCat - 27/10/2013

Il ne faut quand même pas abuser, l'erreur est flagrante quand on a le message et le code: j'ai mis $nick au lieu de $cuser.

Le code corrigé est là pour ceux qui n'auraient pas suivi, mais merci de faire un peu des efforts.


RE: aide pour une modification pour whois - loulou7593 - 27/10/2013

En effet, cela m'apprendra à copier/coller un code sans regarder.


RE: aide pour une modification pour whois - loulou7593 - 29/10/2013

Voila j'ai regardé un peu et j'ai apporté une modif car ca envoyais bien la proc d'invitation mais avec ce format
Code :
Invite envoyée pour \{RadioBot\ Ptitebulle\ LaBulle\ blueirc-36 D8999.abo.wanadoo.fr\ *\ \}\ LaBulle
donc ca n'envoyais pas à la personne.

Voici le tcl.

tcl
# Canal où on doit inviter
    set back "#chan"
     
    # Utilisation d'un bind cron pour faire le /whois
    # toutes les 5 minutes
    bind cron - "*/5 * * * *" whoisAll
    proc whoisAll { mm hh dd mo xx } {
            foreach cuser [userlist] {
               if {![onchan $cuser $::back] } {
                  putserv "WHOIS $cuser"
               }
            }
    }
     
    # Utilisation du raw 311
    bind raw - 311 whoisInvite
    proc whoisInvite {from keyword text} {
	        set nickname [lindex [split $text] 1]
            if {![onchan $nickname $::back] } {
                    putserv "INVITE $nickname $::back"
            }
    }



Et Merci à CrazyCat pour son aide.