commande sur salon qui agit en PL
#1
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"
Répondre Avertir
#2
Oui, mais là tu est en tcl, donc c'est plutôt channel set ... comme le dit la doc livrée avec eggdrop
Répondre
#3
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
Répondre Avertir
#4
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
Répondre Avertir
#5
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.
Répondre Avertir
#6
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
Répondre Avertir
#7
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
DodY
Répondre Avertir
#8
Bonour,
Il faut taper la commande sans les {}
.chanset #chan need-invite putserv "PRIVMSG niubotXX :invite MOTDEPASSDUBOTSURNIUBOT #chan"

Bonne journée.
Répondre Avertir
#9
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.
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté