Communauté sur les Eggdrops - Community about Eggdrops
Fun.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: Fun.tcl (/showthread.php?tid=441)

Pages: 1 2


Fun.tcl - Aragorn - 28/06/2009

Bonsoir je vien de créer se petit code j'aimerai savoir si il es correcte et/ou si je peu l'optimiser


tcl
bind pub - !cmd pub:cmd
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !liste pub:liste
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !jokes pub:jokes
proc pub:aide { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $nick :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !biere pub:biere
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
 
bind pub - !coca pub:coca
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre un coca bien frais à \0034$pseudo"
}
 
bind pub - !sky pub:sky
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312offre un bon sky 16 ans d'age à \0034$pseudo"
}
 
bind pub - !kiss pub:coca
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312fait un énorme kisssss à \0034$pseudo"
}
 
bind pub - !palo pub:palo
proc pub:aide { nick uhost handle channel arg } {
putserv "PRIVMSG $chan :\0037$user \00312roule un énorme paloOoOoOoOo à \0034$pseudo"
}

Merci d'avance pour vos future réponse.
Cordialement Aragorn


RE: Fun.tcl - heretoc - 28/06/2009

Ton $pseudo il est est detecter par quoi ?
Sinon tous tes procs faudrais les refaires , remplace les proc pub:aide par les proc: correspondant :

tcl
Exemple : 
bind pub - !palo pub:palo
proc pub:aide { nick uhost handle channel arg } {
 
devient
 
bind pub - !palo pub:palo
proc pub:palo { nick uhost handle channel arg } {


Pour la variable pseudo personellement sous chaque proc j'ajouterais ceci :

tcl
set pseudo [split $arg]
 if {$pseudo != ""} {




RE: Fun.tcl - Aragorn - 28/06/2009

merci heretoc pour cette reponse donc j'ai suivi tes indications et met le code pour etre sur qu'il ni es pas d'erreur

tcl
bind pub - !cmd pub:cmd
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !liste pub:liste
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !jokes pub:jokes
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\00312Fin des commandes de fun"
}
 
bind pub - !biere pub:biere
proc pub:biere { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
}
 
bind pub - !coca pub:coca
proc pub:coca { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre un coca bien frais à \0034$pseudo"
}
}
 
bind pub - !sky pub:sky
proc pub:sky { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre un bon sky 16 ans d'age à \0034$pseudo"
}
}
 
bind pub - !kiss pub:kiss
proc pub:kiss { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312fait un énorme kisssss à \0034$pseudo"
}
}
 
bind pub - !palo pub:palo
proc pub:palo { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312roule un énorme paloOoOoOoOo à \0034$pseudo"
}
}
 
bind pub - !fouette pub:fouette
proc pub:fouette { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312fouette \0034$pseudo \00312de toute ses force (t'aime sa hein)"
}
}
 
bind pub - !baffe pub:baffe
proc pub:baffe { nick uhost handle channel arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312prend le plus d'élant possible et donne une enorme baffe à \0034$pseudo"
}
}




RE: Fun.tcl - Aragorn - 28/06/2009

je vien de tester le script coller çi-dessu: j'ai se message d'erreur en partyline


tcl
[22:47] Tcl error in file 'fun.conf':
[22:47] invalid command name "Bind"
 while executing
"Bind pub - !cmd pub:cmd"
(file "scripts/fun.tcl" line 1)
invoked from within
 "source scripts/fun.tcl"
     (file "fun.conf" line 1357)
[22:47] * FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR)


visiblement sa viendrai de la 1er ligne mais je ne voi pas ou es le problème je veu juste metre as un eggdrop sur mon salon des commandes d'animations.
merci de votre aide future
Cordialement Aragorn.


RE: Fun.tcl - heretoc - 29/06/2009

regarde bien tes procs ^^


RE: Fun.tcl - fedora - 29/06/2009

erreur dans tes proc


tcl
bind pub - !liste pub:liste
proc pub:cmd { nick uhost handle channel arg } {


qui devrais etres


tcl
bind pub - !liste pub:liste
proc pub:liste { nick uhost handle channel arg } {


pareille ici


tcl
bind pub - !jokes pub:jokes
proc pub:cmd { nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"


qui devrais etre

tcl
bind pub - !jokes pub:jokes
proc pub:jokes{ nick uhost handle channel arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"




RE: Fun.tcl - Artix - 29/06/2009

3 Procs pour 3 commandes différentes, c'est une perte de temps monumentale
Il vaut mieux garder la premiere proc une seule fois, et placer les 3 binds dessus


RE: Fun.tcl - Aragorn - 29/06/2009

je me suis aperçu de sa hier soir juste apres avoir poster le message lol
sinon j'ai fait tout mes bind de cette maniere

tcl
bind pub - "!liste" pub:liste

au lieu de

tcl
bind pub - !liste pub:liste


pour regrouper les 3 procs je ne sais absolument pas comment faire j'imagine que sa donnerai sa

tcl
bind pub - "!cmd" pub:cmd
bind pub - "!liste" pub:liste
bind pub - "!jokes" pub:jokes
proc pub:cmd { nick uhost handle chan arg } {
putserv "NOTICE $nick :\00312Pour faire fonctionner les commandes il faut taper de la manière suivant !cmd pseudo ( exemple: !bierre Hathor )"
putserv "NOTICE $nick :\00312Voici les commandes de Fun"
putserv "NOTICE $nick :\0034les commandes banman:"
putserv "NOTICE $nick :\00312!biere\0034 !coca \00312!sky"
putserv "NOTICE $NICK :\0034Les commandes love:"
putserv "NOTICE $nick :\00312!kiss\0034 !palo"
putserv "NOTICE $nick :\0034Les commandes violantes:"
putserv "NOTICE $nick :\00312!fouette\0034 !baffe"
putserv "NOTICE $nick :\0034Les commandes diverses:"
putserv "NOTICE $nick :\00312!story\0034 !chuck\00312 !oracle"
putserv "NOTICE $nick :\00312Fin des commandes de Fun"
}

mais je ne suis absolulent pas sur de moi.
merci de votre aide future
cordialement Aragorn.


RE: Fun.tcl - BdS - 29/06/2009

Pour regrouper les trois binds il faut qu'ils appellent la meme proc ...
ex:

tcl
bind pub - "!cmd" pub:cmd
bind pub - "!liste" pub:cmd
bind pub - "!jokes" pub:cmd
proc pub:cmd { nick uhost handle chan arg } {
...
}


Prend le temps de lire et de relire et de re-relire tes codes :)


RE: Fun.tcl - Aragorn - 29/06/2009

j'ai tester mon code mais il y as des bug quand je tape !cmd j'obtient sa en partyline:

tcl
[13:14:45] <Fun> [15:26] Tcl error [pub:cmd]: extra characters after close-quote

et quand je tape !biere pseudo j'obtien ça:

tcl
[13:16:02] <Fun> [15:27] Tcl error [pub:biere]: can't read "user": no such variable

par quoi doije remplacer ma variable user:

tcl
bind pub - "!biere" pub:biere
proc pub:biere { nick uhost handle chan arg } {
set pseudo [split $arg]
if {$pseudo != ""} {
putserv "PRIVMSG $chan :\0037$user \00312offre une bonne bière bien fraiche à \0034$pseudo"
}
}




RE: Fun.tcl - BdS - 29/06/2009

La variable user n'est pas définie, normal qu'il ne la trouve pas: utilise $nick comme variable à la place.

Pour ton problème dans la proc pub:cmd, redonne nous la proc telle qu'elle est maintenant.


RE: Fun.tcl - Aragorn - 29/06/2009

Problème résolu j'avai oublier un " sur une ligne sa fonctionne impec merci de votre aide.
Cordialement Aragorn


RE: Fun.tcl - Aragorn - 29/06/2009

c'est encore moi désolé lol je voudrai ajouter as mon script Fun.tcl un message automatique as chaque entrer d'un user sur le salon j'avai penser as faire ceci:

tcl
proc tgjoinmsg {nick host hand chan} {
putserv "NOTICE $nick :\00312Bonjour ou Bonsoir\0034 $nick ,\00312 je suis Fun le robot d'animation pour connaitre mes commandes tapez !cmd
}

cela est il correct ?
Cordialement Aragorn


RE: Fun.tcl - CrazyCat - 29/06/2009

Mais pourquoi tu ne pars pas de Jokes qui est, sans me jeter de fleurs, plus souple qu'un script avec toutes les actions et réponses dans le code ?


RE: Fun.tcl - Aragorn - 30/06/2009

tout simplment par ce que je souhaite vraiment le faire moi même et que je pense que la meilleur façon d'aprendre c'est en codant donc allez prendre la reponse sur un autre code sans savoir comment sa marche c'est pas genial.
donc j'ai essaier de le faire en suivant cette page http://www.eggdrop.fr/Binds#MSGM au niveau du bind join
j'avoue que j'ai pas tout compris je pense que le proc es bon mais je voi pas comment metre le bind:

tcl
proc joinproc {nick uhost hand chan } {
putserv "NOTICE $nick :\00312Bonjpur ou Bonsoir\0034 $nick ,\00312 je suis Fun le robot d'animation pour connaitre mes commandes tapez !cmd (uniquement en couleur noir)"
}

merci de votre aide futur
Cordialement Aragorn.