Communauté sur les Eggdrops - Community about Eggdrops
[Demande] Demande De tcl ! - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: [Demande] Demande De tcl ! (/showthread.php?tid=1475)



Demande De tcl ! - BaGrift - 15/12/2013

Bonjour, j'aimerais faire un petit scripts tcl de mode sur user c'est a dire que example si je mais +o BaGrift sur le chan #Accueil je veux que le rebot le reconaisse automatiquement donc a chaque connexion le pseudo sera +o enfin desolé si je m'esplique mal ^^ Si qu'elle qu'un peux m'aidé sa serais gentil !


RE: Demande De tcl ! - aliasangelius - 15/12/2013

Salut,

Si je comprend bien ta demande : pseudo rejoint le salon #accueil et si le bot reconnais il le mais +o automatiquement ?

Je pense que tu pourrais voir du côté d'un code que j'avais fait corrigé par CrazyCat :


tcl
#*************************************************************#
# Tcl Service en cour de Création pour le réseau **********   #
#                                                             #
# By alias_angelius.                                          #
#*************************************************************#
 
namespace eval ::robot {
    package require msgcat
    package require Tcl 8.5
    # Ici ont met le salon ou ont désire mettre le auto-op/voice.
    variable sal "#accueil"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Ici ont met le message pour le/les Robot(s)/users en msgcat.
    ::msgcat::mcset fr m0 "\0034Auto-voice et Auto-op accepter pour le Robot.\0034"
    # Langue qu'ont désire mettre pour msgcat.
    ::msgcat::mclocale fr
    # Ici ont met le flag que les robot/users doivent avoir pour l'auto-op/voice.
    variable xflag "I|I"
    # Auteur.
    variable veraut "Service.tcl V1.0 by alias_angelius."
    putlog "\002\0034$::robot::veraut\002\0034"
 
    # Procédure de Join sur le salon défini.
    proc robotjoin {nick host hand chan} {
        if {$nick == $::botnick} { return 0 }
        if { [string tolower $chan] ne [string tolower $::robot::sal] } { return 0 }
        if {![botisop $chan]} { return 0 }
        putserv "privmsg $::robot::sal :[::msgcat::mc m0]"
        utimer $::robot::opsec [list ::robot::verif $nick $chan]
        return 1
    }
 
    # Procédure d'auto-Voice/Op Robot.
    proc verif {nick chan} {
       if {[isop $nick $chan]} {return}
            putserv "mode $chan +ov $nick $nick"
    }
 
    # Package.
    if {[catch {package require Tcl 8.5}]} {
       putlog "\002auto-op-voice.tcl\002 : Vous avez besoin de Tcl en version 8.5 au moins pour pouvoir utiliser ce script."
       return
    }
    # Les binds.
    bind join $::robot::xflag "$::robot::sal *" [namespace current]::robotjoin
}


Edit : Tu n'es pas obliger de mettre de majuscules d'un salon pour que le robot reconnaisse celui ci.
Il et même conseiller de ne pas en mettre


RE: Demande De tcl ! - BaGrift - 15/12/2013

(15/12/2013, 13:03)aliasangelius Wrote: Salut,

Si je comprend bien ta demande : pseudo rejoint le salon #accueil et si le bot reconnais il le mais +o automatiquement ?

Je pense que tu pourrais voir du côté d'un code que j'avais fait corrigé par CrazyCat :


tcl
#*************************************************************#
# Tcl Service en cour de Création pour le réseau **********   #
#                                                             #
# By alias_angelius.                                          #
#*************************************************************#
 
namespace eval ::robot {
    package require msgcat
    package require Tcl 8.5
    # Ici ont met le salon ou ont désire mettre le auto-op/voice.
    variable sal "#accueil"
    # Ici ont mets le temps d'opage et de voice en secondes.
    variable opsec 3
    # Ici ont met le message pour le/les Robot(s)/users en msgcat.
    ::msgcat::mcset fr m0 "\0034Auto-voice et Auto-op accepter pour le Robot.\0034"
    # Langue qu'ont désire mettre pour msgcat.
    ::msgcat::mclocale fr
    # Ici ont met le flag que les robot/users doivent avoir pour l'auto-op/voice.
    variable xflag "I|I"
    # Auteur.
    variable veraut "Service.tcl V1.0 by alias_angelius."
    putlog "\002\0034$::robot::veraut\002\0034"
 
    # Procédure de Join sur le salon défini.
    proc robotjoin {nick host hand chan} {
        if {$nick == $::botnick} { return 0 }
        if { [string tolower $chan] ne [string tolower $::robot::sal] } { return 0 }
        if {![botisop $chan]} { return 0 }
        putserv "privmsg $::robot::sal :[::msgcat::mc m0]"
        utimer $::robot::opsec [list ::robot::verif $nick $chan]
        return 1
    }
 
    # Procédure d'auto-Voice/Op Robot.
    proc verif {nick chan} {
       if {[isop $nick $chan]} {return}
            putserv "mode $chan +ov $nick $nick"
    }
 
    # Package.
    if {[catch {package require Tcl 8.5}]} {
       putlog "\002auto-op-voice.tcl\002 : Vous avez besoin de Tcl en version 8.5 au moins pour pouvoir utiliser ce script."
       return
    }
    # Les binds.
    bind join $::robot::xflag "$::robot::sal *" [namespace current]::robotjoin
}


Edit : Tu n'es pas obliger de mettre de majuscules d'un salon pour que le robot reconnaisse celui ci.
Il et même conseiller de ne pas en mettre

Merci de ta réponse, Mais je voie je me suis mal exprimé enfaîte je voudrez un tcl qui enregistre les pseudo que je veux dans un fichier pseudo.db example et quil les passe +o +h ou +v c'est a dire si je passe +o BaGrift, +h Bullet- et +v MachinTruc bah qu'a chaque connexion le robot leur redonne leur statut que je leur et assigné la première fois ! comprend tu ce que je recherche ?


RE: Demande De tcl ! - CrazyCat - 16/12/2013

Ca ressemble beaucoup à Oper automatiquement sur un salon


RE: Demande De tcl ! - BaGrift - 16/12/2013

(16/12/2013, 00:49)CrazyCat Wrote: Ca ressemble beaucoup à Oper automatiquement sur un salon

Oui certe mais ca fonctionne par commande hors que moi je souhaiterais sans commande !


RE: Demande De tcl ! - aliasangelius - 16/12/2013

Pour ma part y'a que 2 solutions..
1 ont assigne un système de ligne pour chaque grade chose chiante !
Ou un fichier db par chose.

Exemple voice.db va voice les pseudos dedans, op.db les @.. Etc.. Mais faire sa sans aucune commande je pense pas sa sois possible.
Surtout pour une utilisation de fichier db

Edit : Sinon une solution peut-être..
Serait de mettre des "set" Exemple :


tcl
set xv "pseudo1 pseudo2"..


Pareil pour les +h et +o


RE: Demande De tcl ! - CrazyCat - 16/12/2013

Vous vous prenez vraiment la tête pour pas grand chose...


tcl
bind mode - "% +o" addop
proc addop {nick uhost hand chan mode {target ""}} {
   if { [string tolower $target]==[string tolower $::botnick] } { return 0; }
   if {$target == ""} { return 0; }
   set vict "$target![getchanhost $target $chan]"
   set vhandle [finduser $vict] 
   if { $vhandle == "*" } {
      set vhandle [nick2hand $target]
      adduser $vhandle $vict
   }
   chattr $vhandle +ao
}




RE: Demande De tcl ! - BaGrift - 16/12/2013

Bonjour ,

Sinon si c'est vraiment pas possible je pensé a un style de commande exemple !addop pseudo !addhalf pseudo et !addvoice pseudo c fessable ca non ?


RE: Demande De tcl ! - cestlemien - 19/12/2013

salut,

C'est natif dans les eggdrop, pourquoi vouloir ajouter un tcl ?

Cordialement.