Communauté Eggdrop
Aide pour debuter à scripter .. - 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 : Aide pour debuter à scripter .. (/showthread.php?tid=756)

Pages : 1 2


Aide pour debuter à scripter .. - dug30 - 19/09/2010

Tout d'abord bonjour à tous.

Je débute depuis peu dans l'utilisation des eggdrop.
J'ai réussi paramétrer mon eggdrop, mais je me bats un peu avec les scripts.

Mon premier soucis, je voudrais connecter mon eggdrop sur un chan qui est en invite, dans le bot que j'avais avant (qui fonctionnait sur un mirc), j'avais ces commandes la:

/invite $me #mon_chan
/join #mon_chan

Et la j'avoue que je ne sais même pas par quel bout attraper la chose ..

Mon deuxième soucis, c'est de trouver une doc complète et facile a comprendre pour un débutant comme moi, pour essayer d'apprendre a scripter.

En vous remerciant d'avance pour votre aide.
seb


RE: Aide pour debuter à scripter .. - Ixion - 19/09/2010

Bonjour à toi

Pour apprendre un peu les différentes manieres du tcl je te conseil :

http://www.eggdrop.fr/Cat%C3%A9gorie:FAQ

Autrement pour ton code :

tcl
set botn "Nomdubot"
set chanbot "#nomduchandubot"
set chaninv "#nomduchaninvite"
 
 
bind join - "*" chaninvite
proc chaninvite {nick host hand arg} {
global botn chanbot chaninv chaninvite
putquick "JOIN $::chanbot"
putquick "INVITE $::botn  $::chaninv"
}



Precision : Ce code marche

Cordialement Smile


RE: Aide pour debuter à scripter .. - heretoc - 19/09/2010

Sinon pour qu'il puisse rejoindre tout les chans en invite (donc pas seulement ceux pret defini) tu peut utiliser les raws avec la 473 si je me trompe pas


RE: Aide pour debuter à scripter .. - Ixion - 19/09/2010

Possible ouais, mais etant donnée qu'il est débutant, je fais au plus simple.


RE: Aide pour debuter à scripter .. - dug30 - 19/09/2010

Merci beaucoup, je vais aller étudier ton lien.

pour le code c'est nickel étant donné que je ne veux lui faire joindre qu'un chan bien précis.


RE: Aide pour debuter à scripter .. - Ixion - 19/09/2010

Content pour toi Smile n'hesite pas si t'as besoin, je serais la.


RE: Aide pour debuter à scripter .. - dug30 - 19/09/2010

Alors j'ai crée le .tcl avec ton code.
Premier essai je voyais bien passer l'invite (qui se fait deux fois a 20secondes d'interval, je ne sais pas pourquoi..), mais l'eggdrop ne rejoignait pas le chan.

Donc j'ai essayé ce ceci:

putquick "JOIN $::chanbot"
putquick "INVITE $::botn $::chaninv"
putquick "JOIN $::chaninv" << j'ai rajouté cette ligne

Ducoup l'eggdrop s'invite, join, part (la je ne sais pas pourquoi mais ca doit venir de notre reseau)
et il recommence une deuxième fois: invite, join et part..

Alors le fait qu"il parte ca je pense que ca ne vient pas du code, mais pourquoi fait il toutes les manip en double ??
tu a une idée?


RE: Aide pour debuter à scripter .. - Ixion - 19/09/2010

Si tu veux qu'il reste sur un salon tu vas en PL et tu tapes .+chan add #salon

Cordialement


RE: Aide pour debuter à scripter .. - CrazyCat - 19/09/2010

Bon, je pense qu'il y a une chose qui manque, c'est quelque chose du genre:
tcl
if { $nick == $::botnick } { return 0; }


Ca permet d'éviter que l'eggdrop ne s'auto-invite lorsqu'il rentre sur le canal.

Ensuite, il faut faire un choix: soit on met une variable en global, soit on utilise $::variable, mais pas les deux.

Et finalement, que veux tu exactement dug30 ? que l'eggdrop fasse une demande d'invitation sur le canal ?
Code :
.+chan #canal
.chanset #canal need-invite "msg machin invite #canal"



RE: Aide pour debuter à scripter .. - dug30 - 22/09/2010

le canal est verrouillé en invite, donc il faut qu"'il s'auto invite.
Mais visiblement c'est bon, tout est rentré dans l'ordre.
Merci à vous


RE: Aide pour debuter à scripter .. - CrazyCat - 23/09/2010

CrazyCat a écrit :
Code :
.+chan #canal
.chanset #canal need-invite "msg machin invite #canal"
dug30 a écrit :le canal est verrouillé en invite, donc il faut qu"'il s'auto invite.

Donc ma solution est bien celle qu'il te faut, à condition qu'il y ait un service du type ChanServ sur le réseau, que le canal soit enregistré et que ton eggdrop soit dans la liste des accès.
Code :
.+chan #canal
.chanset #canal need-invite putserv "PRIVMSG ChanServ invite #canal"



RE: Aide pour debuter à scripter .. - dug30 - 19/10/2010

Merci pour vos reponses.
Je continue d'avancer dans la création de mon eggdrop.
J'ai une nouvelle question, l'ancien bot sous mirc utilisait des commandes du genre:

on 1:snotice:*text*: {
/msg #Services blablabla
}

merci
seb
existe t il un équivalant a la fonction on snotice en tcl ??


RE: Aide pour debuter à scripter .. - CrazyCat - 20/10/2010

le snotice est une notice serveur, donc on peut binder ça facilement par un bind RAW.


RE: Aide pour debuter à scripter .. - dug30 - 20/10/2010

Alors j'ai remplacé mon code :
on 1:snotice:*left*: {
/msg #Services 13 $1 est parti de $4
}

par
Code :
################
# surveillance #
################
#
bind raw *left* left
proc left { nick uhost handle channel arg } {
global botnick
putserv "PRIVMSG #services :$arg est parti de "
}
#
#

et bien sur il ne se passe rien !!
je me doute que j'ai du loupé un truc mais quoi?? pas facile le tcl quand on debute!!


RE: Aide pour debuter à scripter .. - CrazyCat - 20/10/2010

Tu as juste loupé cette page qui montre que les raws sont numériques pour la plupart. Et cette page qui décrit ce qui est à ta disposition.