Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Commande réserver a certaine personne.
#1
Bonjour,

Alors voila je suis entrain de codé un tcl pour ajouter les différents axx du genre !addvoice pseudo

mon code fonctionne très bien. Mais se que j'aimerai c'est que 'est commande soit accessible a certain pseudo.

voila le code

tcl
bind pub - !addvoice pub:addvoice
bind pub - !delvoice pub:delvoice
 
proc pub:axxvoice { nick uhost handle chan arg } {
  set pseudo [split $arg]
  if {$pseudo != ""} {
    putserv "cs vop $chan add $pseudo"
    putserv "PRIVMSG #Services :\00312Ajout de\0034 $pseudo \00312au poste d'animateur sur le salon\0037 $chan"
    putserv "NOTICE $nick :\00312L'axx permanant de voice a bien été ajouté à\0034 $pseudo \00312sur le salon\0037 $chan"
  }
}
 
proc pub:delvoice { nick uhost handle chan arg } {
  set pseudo [split $arg]
  if {$pseudo != ""} {
    putserv "cs vop $chan del $pseudo"
    putserv "PRIVMSG #Services :\00312Supression de\0034 $pseudo \00312au poste d'animateur sur le salon\0037 $chan"
    putserv "NOTICE $nick :\00312L'axx permanant de voice a bien été suprimé à\0034 $pseudo \00312sur le salon\0037 $chan"
  }
}

j'avais penser faire comme ça

tcl
proc pub:axxvoice { nick uhost handle chan arg } {
  set pseudo [split $arg]
  if {$pseudo != "Alucard`68 jessica"} {
    putserv "cs vop $chan add $pseudo"
    putserv "PRIVMSG #Services :\00312Ajout de\0034 $pseudo \00312au poste d'animateur sur le salon\0037 $chan"
    putserv "NOTICE $nick :\00312L'axx permanant de voice a bien été ajouté à\0034 $pseudo \00312sur le salon\0037 $chan"
  }
}

mais cela ne fonctionne pas :s
voila le message d'erreur que j'ai en PL.

Code:
<Jessica`68> [18:25:55] Tcl error [pub:addvoice]: invalid command name "pub:addvoice"
Comment je pourrais faire. Je ne vois pas comment.

Merci d'avance pour votre aide future.

Cordialement.
#2
Bonjour,

J'ai remarqué mon erreur au niveau du bind pub - !addvoice...
j'ai corrigé cette erreur et je n'ai plus de message d'erreur en PL.
Mais cela ne fonctionne toujours pas... n'importe qu'elle user peu mettre un axx.

quelqu'un aurai une idée ?

Merci d'avance.

Cordialement
#3
salut,

regardes du coté des flags dans la doc de eggdrop ;)
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#4
Bonjour, je ne comprend pas grands chose au flags ni comment insérer celle si dans mon code...

j'aimerais avoir une liste de pseudo a qui seul ces commandes seront accessible

mais j'ai aucune idée de la façon de mettre ça en place.

Merci d'avance.

Cordialement.
#5
Les flags sont fait pour réserver des commandes à des groupes de personnes, c'est à dire que les personnes doivent être enregistrées dans l'eggdrop et avoir un niveau (global sur l'eggdrop ou propre à un canal).
Il n'y a en natif aucune gestion par nick, le nick étant la chose la moins sûre sur IRC.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#6
d'accord je comprend,

donc faut que je mette un axx a certaine personne de mon staff. Mais comment inséré une flag au code j'ai trouvé sa en cherchant sur le forum je l'es mi dans mon code mais se marche pas.


tcl
bind pub - !addvoice pub:axxvoice
bind pub - !delvoice pub:delvoice
 
 
proc pub:axxvoice { nick uhost handle chan arg } {
  set pseudo [split $arg]
  if {$pseudo != ""}
  if [matchattr $nick Z] {
    putserv "cs vop $chan add $pseudo"
    putserv "PRIVMSG #Services :\00312Ajout de\0034 $pseudo \00312au poste de voice sur le salon\0037 $chan"
    putserv "NOTICE $nick :\00312L'axx permanant de voice a bien été ajouté à\0034 $pseudo \00312sur le salon\0037 $chan"
  }
}
 
proc pub:delvoice { nick uhost handle chan arg } {
  set pseudo [split $arg]
  if {$pseudo != ""}
  if [matchattr $nick Z] {
    putserv "cs vop $chan del $pseudo"
    putserv "PRIVMSG #Services :\00312Supression de\0034 $pseudo \00312au poste d'animateur sur le salon\0037 $chan"
    putserv "NOTICE $nick :\00312L'axx permanant de voice a bien été suprimé à\0034 $pseudo \00312sur le salon\0037 $chan"
  }
}

voila le message d'erreur:

Code:
[17:58:17] <Jessica`68> [17:58:26] Tcl error [pub:axxvoice]: wrong # args: no script following "$pseudo != """ argument
Et il me semble que le flag Z si met ircop et netadmin cela fonctionnera t'il ?
je ne comprend vraiment pas comment faire :s

Cordialement.
#7
Tout d'abord, pour ton erreur:

tcl
if {$pseudo != ""}

Comme te dit le message d'erreur, il n'y a aucune instruction après. Ajoute donc une accolade, que tu refermeras à la fin de la procédure.

Quant au Z... Tu confonds les flags dans l'eggdrop et ceux du serveur. L'eggdrop ne connait pas les flags serveur. Pour lui, un netadmin est un utilisateur lambda s'il n'est pas dans sa userlist.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#8
Bonjour,

Alors j'ai totalement repensé mon code. Mais j'ai un petit souci.


tcl
set axx_ver "1"
set axx_author "Alucard68"
set vhostaxx {
  *@domaine.tld
  *@domaine.tld
  *@domaine.tld
}
 
bind pub - !adv axxvoice
 
proc axxvoice { nick host hand channel arg } {
  global vhostaxx axxvoice
  foreach vhost $vhostaxx {
  if [string match -nocase $vhost $host] {
    putquick "cs access $chan add $arg 3"
    putquick "NOTICE $nick :\00312L'axx permanant devoice a bien été ajouté à\0034 $arg \00312sur le salon\0037 $chan"
    putquick "PRIVMSG #Services :\00312Ajout de\0034 $arg \00312au poste d'animateur sur le salon\0037 $chan"
    }
  }
}
 
putlog "\00312Axx Version\0037 $axx_ver \00312By\0034 $axx_author \00312loaded"

Bien sur les vhost son bien faite sur mon fichier.
J'ai un message d'erreur en PL qui es le suivant:

Code:
[11:50:45] Tcl error [axxvoice]: can't read "chan": no such variable
$chan ne fonctionne pas par quoi je peu la remplacer parce que la je ne vois pas du tout.

Merci d'avance pour votre aide.

Cordialement.
#9
Voila j'ai corriger mon erreur. j'ai tout simplement remplacé $chan par $channel et cela fonctionne parfaitement.

Encore merci pour votre aide.

Cordialement.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Résolu] Comment recupére le nombre de personne d'un salon (Users, Operateur) Dydouch 4 4,076 01/11/2013, 23:55
Last Post: Dydouch
Sad problème sur certaine commande Alucard`68 12 6,630 22/05/2012, 12:13
Last Post: Alucard`68
  commande et personne qui écrive en couleur Alucard`68 1 3,580 18/03/2012, 10:48
Last Post: CrazyCat

Forum Jump:


Users browsing this thread: 1 Guest(s)