TCL EGGDROP

Messages postés
77
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
19 février 2011
- - Dernière réponse : aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
- 23 oct. 2010 à 19:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51290-tcl-eggdrop

IrX
Messages postés
77
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
19 février 2011
-
bonjour,

Ligne 251
putserv "mode $chan -b [lindex $test 0]" <- il manquer "
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
bonjour

oui en effet j'avait completement oublier un " merci beaucoup ;)

Apprendre c'est comprendre..
cs_Benjamin37
Messages postés
59
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
18 mars 2010
-
Bonjour !

pas mal comme tcl.

Des petit erreurs que j'ai décelé ( mais je ne suis pas sur vu que je suis novice en langage tcl ) :
ligne 276
bind pub n| [string trim $prefixcmd]addowner pub_addowner 


il ne manque pas un n ?
ça serait plus ça :
bind pub n|n [string trim $prefixcmd]addowner pub_addowner 



La même chose aux lignes suivantes : 673,853,902,946 et 982 il manque aussi un n .

Voilà

Cordialement
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
Bonjour

quand je fais addowner sa fonctionne correctement mais je vais tester et modifier comme tu me la dis voir ce que sa donne :)

le seul truc qui déconne dans ce tcl la c'est quand je fait un addmaster en pl je doit rajouter le flaq "s" et "n" enfin je vais modifier plein de chose et le re poster içi pour avoir vos avis merci pour les commentaire =)
cs_SornDrixer
Messages postés
2087
Date d'inscription
jeudi 12 décembre 2002
Statut
Modérateur
Dernière intervention
30 janvier 2011
2 -
Ca serait bien que tu détailles ce que fait ce script, comment l'utiliser, etc.

De plus, as-tu l'autorisation de son auteur pour publier sa source ici ? (vu qu'elle n'est pas de toi au départ)
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
Bonjour SornDrixer

je vais le détailler ce que fais la source quand j'aurais apporter les modification dessus

et oui j'ai demander l'autorisation à l'auteur de publier son code je ne poste pas de source sans accord si elle n'est pas de moi à la base
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Oh, ça me rappelle mes "débuts" :')
J'ai survolé très vite fait le code, propre, organisé, le bot a l'air pas mal.
Juste une question, ces "return 0" en fin de proc par bind, c'est nécessaire ?
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
Bonjour UAIP

Return 0 permet de quitter une fonction en renvoyant 0 à la fonction appelante. 0 signifie que le code s'est terminé sans erreur.

Merci pour ton commentaire qui ma fait très plaisir :)
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
Oublier de mettre un oui désolé je suis tête en l'air défois lol
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Salut,
Je sais bien ce que signifie l'instruction "return" :)
Mais je parlais des return en fin de proc par bind.
Comme tu l'as dit, "return" permet à la procédure appelante de récupérer la valeur de retour.
Mais dans le cas où la fonction est bindée (ou triggée, ou ce que tu veux), il n'y a rien qui vérifie la valeur de retour (si ?).
Du moins, je n'ai jamais mis de "return" dans des proc par bind.
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
if {[matchattr $hand S] == 1} {
return 0
}

sa vérifie la valeur 1
=)
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Pour prendre l'exemple de pub_deop, elle n'est appelée par aucune autre proc, simplement appelé par un bind. Don personne ne se soucie de sa valeur de retour.
De voir des return 0 et 1 partout, ça me fait mal aux yeux ^^
Enfin bon. Passons.
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
J'ai jamais tester sans les return mais dès demain je vais tester et si ça fonctionne sans les return 0 je poste un commentaire pour dire ce que ça donne
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Euh...
Je précise que je parlais des valeurs de retour (0 et 1). Si tu veux stopper une procédure et retourner dans la proc appelante, tu es obligé d'utiliser return (pour simplifier).
Mais si tu veux tester d'enlever des return, tu dois réorganiser la proc.
Du genre :
proc { param } {
..if { condition 1 } { return }
..commandes
..if { condition 2 } { return }
..commandes
}
devient :
proc { param } {
..if { !condition 1 } {
....commandes
....if { !condition 2 } {
......commandes
....}
..}
}
Et j'ai pas assez regardé ton code pour voir ce qui était le plus intéressant entre des return et des if/else, et là j'ai très mal au crâne d'où mon "Enfin bon. Passons." :)

Bonne nuit.
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
oui mais bon hier soir je pense que moi de même j'était fatiguer lol

donc j'ai vérifier un peut et va falloir que je réorganise tout le script pour éviter les return mais ya une solution pour le faire comme tu la dit donc je vais me pencher dessus et tester le tout déjà tout modifier et ensuite réorganiser etc enfin bon quand ça sera fait je le ferais parvenir.
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Tu n'es pas obligé de te prendre la tête pour ça. Le script fonctionne, c'est l'essentiel.
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
oui je sais bien mais si je peut l'améliorer ça sera bien aussi :)
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
# Op #
bind pub o|o [string trim $prefixcmd]op pub_op
proc pub_op {nick uhost hand chan text} {
global botnick kaneda
if {[matchattr $hand S] == 0} {
if {[matchattr $hand Q] == 0} {
puthelp "NOTICE $nick :Vous devez vous identifier (/msg $botnick id )"
}
}
if {![botisop $chan]} {
puthelp "NOTICE $nick : Je vais maintenant prendre controle de ton salon."
}
if {[lindex $text 0]!=""} {
if {[onchan [lindex $text 0] $chan] == 0} {
puthelp "NOTICE $nick :[lindex $text 0] n'est pas sur $chan."
}
pushmode $chan +o [lindex $text 0]
}
pushmode $chan +o $nick
}

voilà un exemple en fesant comme ça sa fonctionne bien =)
cs_XSXS
Messages postés
10
Date d'inscription
samedi 23 octobre 2010
Statut
Membre
Dernière intervention
9 juillet 2012
-
Bonjour , je cherche une TCL pour un egg pour pouvoir Kicker la playliste depuis le salon animateurs sans avoir a ouvrir le shoutcast !!! Merci pouvais vous m'aider merci d'avance :)
Amelie_lyon
Messages postés
49
Date d'inscription
samedi 4 août 2007
Statut
Membre
Dernière intervention
12 décembre 2010
-
bind pub -|- !kickpl kicksource

proc kicksource { nick host handle chan text } {
#ip:
set server "IPDELASTREAM"
#port:
set port "PORT"
#login: (wird erzeugt aus (ab ins mirc) //echo $encode(admin:PASS,m) bei
#pass auch das pass angeben ^^ und dann eintragen sonst tut das nicht
#login (get it in mirc with //echo $encode(admin:PASS,m)
set login ""

#ab hier nixmehr ändern / don't change anything under this

set sock [socket $server $port]
puts $sock "GET /admin.cgi?admin=admin&pass=ICIPASS&mode=kicksrc HTTP/1.1"
puts $sock "User-Agent:Mozilla"
puts $sock "Host: $server"
puts $sock "Authorization: Basic $login"
puts $sock ""
flush $sock
}
putlog "sourcekick by #@homer (quakenet) loadet"
cs_XSXS
Messages postés
10
Date d'inscription
samedi 23 octobre 2010
Statut
Membre
Dernière intervention
9 juillet 2012
-
Merci a toi AMELIE_LYON c'est très sympas je viens de l'installer et ça fonctionne merci bon Week-End à toutes et tous :)
cs_XSXS
Messages postés
10
Date d'inscription
samedi 23 octobre 2010
Statut
Membre
Dernière intervention
9 juillet 2012
-
Re Bonjour, Désolé j'ai fait une erreur dans ma demande de tcl pour un KPL de shoutcast direct sur le salon d'animateurs!!! En fait c'est pas un eggdrop, mais un Mirc, donc je suppose que le mots approprié est "remotte"!!! veuillez m'excuser je suis nouveau dans ce domaine!!! Merci d'avance, bon week-end a toutes et tous !!!!
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Salut,
XSXS tu ouvres un nouveau topic et tu viens pas upper les anciens.
Fred, commentaire inutile, on s'en fout de ce que tu penses.

Bonne journée :)
cs_XSXS
Messages postés
10
Date d'inscription
samedi 23 octobre 2010
Statut
Membre
Dernière intervention
9 juillet 2012
-
UAIP je suis reste correct alors ou tu peut m'aider, ou tu laisses les autres le faire merci!!bonne soirée
uaip
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Salut,
Je pourrais t'aider mais j'ai pas le temps.
D'une part, tu enfreins la règle qui stipule de ne pas upper les topics des autres. C'est 1 topic par problème.
D'autre part, je te dis ça pour t'aider. Pas grand monde ne viendra t'aider si tu uppes un topic (si résolu).
Ouvre le tien, avec un titre qui correspond à ton problème, et tu verras qu'il y a beaucoup plus de chances que quelqu'un t'aide ;)
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
votre kpl et nul.. voici un bout de code d'un vrai kpl..

bind pub |U !kpl kicksource

proc kicksource { nick host handle chan text } {
#ip:
set server "ip"
#port:
set port "port"
#login: (wird erzeugt aus (ab ins mirc) //echo $encode(admin:PASS,m) bei
#pass auch das pass angeben ^^ und dann eintragen sonst tut das nicht
#login (get it in mirc with //echo $encode(admin:PASS,m)
set login "pass"

#ab hier nixmehr ändern / don't change anything under this
putquick "PRIVMSG #chan :| Mode.Kick.PL | $nick vient de Kick la PL"

if ![catch {set sock [socket $server $port]} error] {
....

de plus je suis d'accord avec UAIP faire un autre topic serait plus approprier franchement.. et sa ne dur que quelque minutes.
cs_XSXS
Messages postés
10
Date d'inscription
samedi 23 octobre 2010
Statut
Membre
Dernière intervention
9 juillet 2012
-
Merci désolé de ne pas avoir fait gaffe :)
aliassangelius
Messages postés
33
Date d'inscription
vendredi 12 février 2010
Statut
Membre
Dernière intervention
22 mars 2010
-
bah de rien mais eviter de manquer de respect envers les autre et prenez le temp d'écouter défois ils disent des chose asser utile sa serait plutot envers UAIP de s'excuser pas de moi ^^