TCL EGGDROP

IrX Messages postés 77 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 19 février 2011 - 14 févr. 2010 à 11:24
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

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
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 ^^
cs_XSXS Messages postés 10 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 9 juillet 2012
23 oct. 2010 à 19:49
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
23 oct. 2010 à 19:47
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.
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
23 oct. 2010 à 18:47
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 ;)
cs_XSXS Messages postés 10 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 9 juillet 2012
23 oct. 2010 à 18:40
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
23 oct. 2010 à 18:02
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
23 oct. 2010 à 16:15
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 !!!!
cs_XSXS Messages postés 10 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 9 juillet 2012
23 oct. 2010 à 12:04
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 :)
Amelie_lyon Messages postés 49 Date d'inscription samedi 4 août 2007 Statut Membre Dernière intervention 12 décembre 2010
23 oct. 2010 à 11:57
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
23 oct. 2010 à 11:46
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 :)
aliassangelius Messages postés 33 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 22 mars 2010
26 févr. 2010 à 17:48
# 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 =)
aliassangelius Messages postés 33 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 22 mars 2010
25 févr. 2010 à 19:48
oui je sais bien mais si je peut l'améliorer ça sera bien aussi :)
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
25 févr. 2010 à 15:22
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
25 févr. 2010 à 14:58
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
25 févr. 2010 à 00:39
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
25 févr. 2010 à 00:07
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
25 févr. 2010 à 00:02
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
24 févr. 2010 à 23:55
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
24 févr. 2010 à 23:45
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
24 févr. 2010 à 23:21
Oublier de mettre un oui désolé je suis tête en l'air défois lol
aliassangelius Messages postés 33 Date d'inscription vendredi 12 février 2010 Statut Membre Dernière intervention 22 mars 2010
24 févr. 2010 à 23:20
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 :)
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
23 févr. 2010 à 22:59
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
20 févr. 2010 à 13:44
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
cs_SornDrixer Messages postés 2084 Date d'inscription jeudi 12 décembre 2002 Statut Membre Dernière intervention 30 janvier 2011 8
19 févr. 2010 à 16:57
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
18 févr. 2010 à 18:53
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_Benjamin37 Messages postés 59 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 18 mars 2010
15 févr. 2010 à 14:22
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
14 févr. 2010 à 17:53
bonjour

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

Apprendre c'est comprendre..
IrX Messages postés 77 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 19 février 2011
14 févr. 2010 à 11:24
bonjour,

Ligne 251
putserv "mode $chan -b [lindex $test 0]" <- il manquer "