Communauté Eggdrop
commande sur salon qui agit en PL - 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 : commande sur salon qui agit en PL (/showthread.php?tid=666)



commande sur salon qui agit en PL - loulou7593 - 09/05/2010

Bonjour,

J'essaye de faire une commande que je taperais sur le salon pour ajouter un need-op et qui devrais agir en PL. exemple: !needop Niubot99 blabla
voici le tcl

tcl
bind pub n .needop needop
proc needop {nick host hand chan arg} {
	global botnick  
	  set Niubot [lindex $arg 0]
	  set pass [lindex $arg 1]
          chanset $chan need-op putserv "PRIVMSG $Niubot :op $pass"
	  return 0
}



Mais apparement ya un soucis car ca me repond [22:00] Tcl error [needop]: invalid command name "chanset"

Pourtant la commande en PL pour ajouter un need-op est bien .chanset #channel need-op putserv "PRIVMSG $bot Surprisedp $pass"


RE: commande sur salon qui agit en PL - CrazyCat - 09/05/2010

Oui, mais là tu est en tcl, donc c'est plutôt channel set ... comme le dit la doc livrée avec eggdrop


RE: commande sur salon qui agit en PL - MenzAgitat - 09/05/2010

chanset est une commande de partyline uniquement; c'est en fait un bind dcc qui appelle une proc Tcl.

La commande Tcl est channel set et tu dois délimiter ton argument par des { }
tcl
channel set $chan need-op { putserv "PRIVMSG $Niubot :op $pass" }




Edit : Si j'avais pas mis plus de 3mn à répondre, j'aurais vu la réponse de CrazyCat avant de poster la mienne :p


RE: commande sur salon qui agit en PL - loulou7593 - 09/05/2010

j'ai fait donc comme ca

tcl
bind pub n .needop needop
proc needop {nick host hand chan arg} {
	global botnick  
	  set Niubot [lindex $arg 0]
	  set pass [lindex $arg 1]
      channel set $chan need-op { putserv "PRIVMSG $Niubot :op $pass" }
	  return 0
}



Mais maintenant j'ai cela comme erreur
[22:47] Tcl error in script for 'need-op':
[22:47] wrong # args: should be "putserv text ?options?"
[22:48] Tcl error in script for 'need-op':
[22:48] can't read "Niubot": no such variable


RE: commande sur salon qui agit en PL - loulou7593 - 09/05/2010

Bon là j'ai fait un rehash et un restart et maintenant
avec le meme tcl

tcl
bind pub n .needop needop
proc needop {nick host hand chan arg} {
	global botnick  
	  set Niubot [lindex $arg 0]
	  set pass [lindex $arg 1]
      channel set $chan need-op { putserv "PRIVMSG $Niubot :op $pass" }
	  return 0
}



Et bien il me dis en PL
[22:59] Tcl error in script for 'need-op':
[22:59] can't read "Niubot": no such variable

et quand je regarde les fichiers via putty dans le egg.chan il est enregistré sous cette forme

revenge-mode 0 need-op { putserv "PRIVMSG $Niubot Surprisedp $pass" }

Je pense que c'est à cause des guillemets de "PRIVMSG ......$pass" mais je ne sais pas comment faire.


RE: commande sur salon qui agit en PL - loulou7593 - 12/05/2010

Bonjour !
Je reviens vous voir car je n'ai toujours trouver la solution pour
ma commande, j'ai toujours la meme erreur en PL.

Quelqu'un aurais une reponse à m'apporter ?

Merci d'avance


RE: commande sur salon qui agit en PL - DodY - 09/07/2010

Bonjour

j'ai essayer moi meme depouis quelques temps de mettre mon bot en invite mais cela fonctionne pas en pl
Pourtant il me semble que je fais la bonne commande et meme essayer dans tout les sens et ca fonctionne pas :

.chanset #salon need-invite { putserv "PRIVMSG Niubotxx :invite #salon monpass" }

.chanset #salon need-invite { putserv "PRIVMSG Niubotxx :invite monpass" }

.chanset #salon need-invite { putserv "PRIVMSG Niubotxx :invite monpass #salon" }

et j'ai en erreur pl
invalid command name " putserv "PRIVMSG Niubotxx :invite #salon monpass" "
etc ...
Si quelqu'un a une idée svp

Bonne journée Smile


RE: commande sur salon qui agit en PL - loulou7593 - 09/07/2010

Bonour,
Il faut taper la commande sans les {}
.chanset #chan need-invite putserv "PRIVMSG niubotXX :invite MOTDEPASSDUBOTSURNIUBOT #chan"

Bonne journée.


RE: commande sur salon qui agit en PL - CrazyCat - 09/07/2010

aliassangelus: le need-invite sert quand le canal est en +i et que donc l'eggdrop ne peut pas le rejoindre.
Le bind join sert quand une personne (ou l'eggdrop) rejoint effectivement un canal, donc lorsque le join est réussi.