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


Probleme avec commande AJOUT d'users
#1
Bonjour,

Je viens car j'ai un soucis avec une commande.

Voici le code

tcl
bind pub n .+@ Ajoutop
proc Ajoutop {nick uhost hand chan arg} {
	global botnick  
      set nick [lindex $arg 0]
	  if {[validuser $nick]} {
		puthelp "NOTICE $hand :$nick est déja Ajouté Comme Propriétaire"
		return 0
	}
	  putquick "MODE $chan +o $nick"
      adduser $nick $nick*!*@*
      chattr $nick +a
	  putserv "PRIVMSG $::chanback : $nick fait maintenant partie de la Team $::Nomback ! Bienvenue. :) "
}


Mais voilà, le soucis est que quand je tape .+@ test ca ajoute bien la personne, MAIS si quelqu'un arrive avec le pseudo tests donc avec un S en plus que le pseudo ajouté avant, et bien vu que le Flag est +a, le bot Op la personne.

J'aimerais que quand j'ajoute la personne et bien qu'apres le bot detecte le pseudo EXACTE.

Si quelqu'un peut m'aider ...
Merci d'avance.

Cordialement
#2
Cela peut être plus simple avec son host :


tcl
bind pub n .+@ Ajoutop
proc Ajoutop {nick uhost hand chan arg} {
   global botnick  
      set nick [lindex $arg 0]
     if {[validuser $nick]} {
      puthelp "NOTICE $hand :$nick est déja Ajouté Comme Propriétaire"
      return 0
   }
   set vhost "Le hostname de la personne"
   if {$uhost == $vhost} {
     putquick "MODE $chan +o $nick"
      adduser $nick $nick*!*@*
      chattr $nick +a
     putserv "PRIVMSG $::chanback : $nick fait maintenant partie de la Team $::Nomback ! Bienvenue. :) "
} else { return 0 }


Avec ceci seul celui qui aura le host autorisé au pseudo pour monter en grade..
Chris© Unlimited based..
www.zumeo.fr | irc://irc.zumeo.fr:6667
#3
Heu, c'est quoi cette réponse ALC ?
Le souci est que tu fais un "adduser $nick $nick*!*@*", alors qu'il te faudrait "adduser $nick $nick!*@*"
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#4
Merci CrazyCat

Je n'avais pas fait attention.
#5
salut ,
Pourquoi ne pas utiliser la party line directement ? ça evite de charger le bot de scripts , et le rend plus "leger"
exemple:
Quote:.+user nickvoulu
.+host nickvoulu *!host@denickvoulu
.chattr nickvoulu +flag_que-l-on-veux_lui_donner #salon_desiré
#6
C'est parceque je rajoute ce code dans le windop.tcl
pour eviter de me connecter à chaques fois en party line.
#7
CrazyCat J'ai bien ajouté comme tu as dit

mais il y a un conflit avec une commande pour se op.

voici le premier code

tcl
bind pub n .+@ Ajoutop
proc Ajoutop {nick uhost hand chan arg} {
	global botnick  
      set nick [lindex $arg 0]
	  if {[validuser $nick]} {
		puthelp "NOTICE $hand :$nick est déja Ajouté Comme Propriétaire"
		return 0
	}
	  putquick "MODE $chan +o $nick"
      adduser $nick $nick!*@*
      chattr $nick +na
	  putserv "PRIVMSG $::chanback : $nick fait maintenant partie de la Team $::Nomback ! Bienvenue. :) "
}


Donc maintenant quand j'ajoute USER en proprietaire et que USERS arrive sur le salon ca ne op pas la mauvaise personne.

Mais par contre maintenant quand la bonne personne donc USER prend une extension exemple : USER|mange
et bien le code suivant ne fonctionne plus

voici le code

tcl
bind pub o !op op
proc op {nick host hand chan arg} {
set nicks [join [lindex [split $arg] 0]]
if {$nicks == ""} {
putserv "privmsg $::chanback :$nick vient de se OPER sur $chan"
putquick "mode $chan +o $hand"
} else {
putserv "privmsg $::chanback :$nick vient de OPER $nicks sur $chan"
putquick "mode $chan +o $nicks"
}
}


Apparement le bot ne reconnait plus le flag donné quand la personne prend une extension, car meme l'auto-op de l'eggdrop flag +a ne reop pas l'user.
Comment je peux faire pour que la commande !op detecte aussi bien USER que USER|mange ??

PS: l'extension mange est un exemple.

Merci d'avance
#8
Je viens de voir que si j'ajoute USER et bien USER est op automatiquement par l'eggdrop car dans la commande on ajoute le Flag +a
ensuite avec la commande de !op et bien USER peut se op.

Par contre si USER met une extension donc USER|FUME et bien niubot deop USER|FUME et l'eggdrop ne reop pas USER|FUME alors qu'avec le Flag +a l'eggdrop devrais le reoper.

Et pareil quand USER|FUME tape !op et bien ca ne l'op pas.

Je redonne le code


tcl
bind  pub n .+@ Ajoutop
proc Ajoutop {nick uhost hand chan arg} {
   global botnick  
      set nick [lindex $arg 0]
     if {[validuser $nick]} {
      puthelp "NOTICE $hand :$nick est déja Ajouté Comme Propriétaire"
      return 0
   }
     putquick "MODE $chan +o $nick"
      adduser $nick $nick!*@*
      chattr $nick +na
     putserv "PRIVMSG $::chanback : $nick fait maintenant partie de la Team $::Nomback ! Bienvenue. :) "
}
 
bind  pub o !op op
proc op {nick host hand chan arg} {
set nicks [join [lindex [split $arg] 0]]
if {$nicks == ""} {
putserv "privmsg $::chanback :$nick vient de se OPER sur $chan"
putquick "mode $chan +o $hand"
} else {
putserv "privmsg $::chanback :$nick vient de OPER $nicks sur $chan"
putquick "mode $chan +o $nicks"
}
}


Merci d'avance
#9
Donc il faudrais faire comme djdu32 le dit, ajouté l'host de la personne désiré.

Comme ça il n'auras plus aucun soucis d'extension avec les nicks.
#10
Le soucis djdu32 c'est qu'en ajoutant le code

tcl
bind  pub n .+@ Ajoutop
proc Ajoutop {nick uhost hand chan arg} {
   global botnick  
      set nick [lindex $arg 0]
     if {[validuser $nick]} {
      puthelp "NOTICE $hand :$nick est déja Ajouté Comme Propriétaire"
      return 0
   }
   set vhost "Le hostname de la personne"
   if {$uhost == $vhost} {
     putquick "MODE $chan +o $nick"
      adduser $nick $nick*!*@*
      chattr $nick +a
     putserv "PRIVMSG $::chanback : $nick fait maintenant partie de la Team $::Nomback ! Bienvenue. :) "
} else { return 0 }
}


Et bien ca ne m'ajoute plus personne. Et si je doit remplacer "Le hostname de la personne" par le host de la personne en question,
ca ne marchera que pour la personne. Moi je veux que ca fonctionne pour toutes les personnes que j'ajouterais par la suite.
#11
Ton souci est en fait que tu ne sais pas quel masque tu veux ajouter.
Tu nous dis que TEST (nick principal) doit être reconnu, TESTS (qui est un autre utilisateur) non mais TEST|Mange oui.

Je pense que tu n'as pas tout compris à la gestion des utilisateurs par eggdrop. Surtout si tu travailles par vhost, pourquoi est-ce que tu t'embètes avec les nicks ?
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#12
Bin en fait je cherche un moyen d'ajouter quelqu'un par ma commande .+@ et que le bot le reconnaisse meme si la personne a une extension par la suite.
Mais que si une autre personne qui a un pseudo presque identique et bien que celle là, ca ne la prenne pas.
Mais le soucis je ne sais pas comment faire.

Je precise que TEST|MANGE est la meme personne que TEST sauf qu'il a une extension, alors que TESTS n'est pas la meme personne c'est juste que le pseudo est presque pareil.
#13
Il faudrais donc que quand je tape .+@ ca m'ajoute le pseudo et le host ou bien que le host de la personne, mais quand je rajoute


tcl
adduser $nick $nick!*@*$host


et bien en host ca ajoute le miens :s
#14
loulou7593 Wrote:Il faudrais donc que quand je tape .+@ ca m'ajoute le pseudo et le host ou bien que le host de la personne, mais quand je rajoute

tcl
adduser $nick $nick!*@*$host

et bien en host ca ajoute le miens :s

C'est normal, le $host récupéré par la procédure est celui de la personne qui lance la commande.

Tout d'abord, dans ta procédure, n'utilise $nick pour ta "victime" alors qu'il est déjà utilisé par la personne qui déclenche la commande. Choisis plutôt $unick ou $victim.

Ensuite, pour avoir quelque chose du genre test*!*@host, il y a deux choses à faire:

tcl
set uhost [getchanhost $unick $chan]

Ensuite, tu peux utiliser la fonction Masque utilisateurs pour récupérer le bon mask que tu veux ajouter:

tcl
adduser $unick [masktype $uhost 10]

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away


Possibly Related Threads…
Thread Author Replies Views Last Post
  probleme avec le script Pooshy.tcl LTEF 18 377 22/06/2022, 12:49
Last Post: CrazyCat
  Problème avec Les poupées linkeuses zappeur78 22 5,523 31/03/2022, 16:52
Last Post: CrazyCat
  [Demande] Interdire Users sur un canal Staff only uDc 3 192 12/12/2021, 20:59
Last Post: uDc
  [Résolu] Problème avec le script autolog T3nS 2 3,246 06/12/2017, 16:08
Last Post: T3nS
  [Bug] Problème avec le script zurl.tcl T3nS 0 3,073 03/08/2017, 19:40
Last Post: T3nS
  [Résolu] Commande /plainte pseudo raison gérer par un eggdrop avec un alias Unrealircd Alucard`68 3 4,000 01/02/2017, 03:39
Last Post: Alucard`68
  probleme de commande sur KAOS loulou7593 43 26,129 30/03/2016, 23:44
Last Post: ShowDowN
  [Résolu] Soucis avec une commande Scorpio 11 6,416 22/01/2016, 12:58
Last Post: Scorpio
  [Résolu] Problème d'encodage avec rss-synd Naruto 24 13,631 18/05/2014, 21:16
Last Post: CrazyCat
  [Résolu] Comment recupére le nombre de personne d'un salon (Users, Operateur) Dydouch 4 4,091 01/11/2013, 23:55
Last Post: Dydouch

Forum Jump:


Users browsing this thread: 1 Guest(s)