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


Mode +v les users enregistrer
#1
bonjour à tous :)

voila j'essaye de trouver un tcl qui Voice les utilisateurs "enregistrer" et que ceux là..

car pour voice tout les users qui entrent dans un salon il y a des commandes "chanserv"

mais moi le but et de voicé vraiment que les pseudos enregistrer !!


et la je bloque , je ne sais pas si il existe déja un tcl qui ferai se genre de chose..


merci de votre aide
#2
Les utilisateurs enregistrés où ? Auprès des services ou auprès de l'eggdrop ?
Si c'est auprès de l'eggdrop, il te suffit soit de leur ajouter le flag +v soit de faire une petite procédure basée sur le join, du genre:

tcl
bind join - "#canal *" autovoice
proc autovoice { nick uhost handle chan } {
   if { $handle ne "*" } {
      pushmode $chan +v $nick
   }
}


Si c'est enregistré auprès des services, deux solutions:
- directement par les services en modifiant les accès (tu peux dire que toute personne enregistré est voice),
- par l'eggdrop en lançant un /whois et quand tu récupères le raw indiquant qu'il est enregistré, lancer un pushmode +v.
Je ne détaille pas plus cette partie, elle a été expliquée il y a peu sur le forum (Voir http://www.eggdrop.fr/board/nick-non-reg...t-454.html ).
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
bonjour

oui en effet je recherche quelque chose pour les pseudos enregistrer et reconnu sur les "services" et non par l'eggdrop

Quote:- directement par les services en modifiant les accès (tu peux dire que toute personne enregistré est voice),
#4
re !

mais je pensé que vue mon eggdrop et SOP sur le salon je pouvez ajouter un petit tcl qui reconnaisser les pseudos enregistrer et qu'il aurai pu Voicé les utilisateurs enregistrer


:)
#5
salut ,

Peut être pourrais-tu te baser sur ce tcl de detection de nick NON register et "inverser" la raw,supprimer le msg ainssi que le chan log, et mettre un pushmode +v .

bon Weeck-End.
#6

tcl
###########################
# Nick-Register.tcl
###########################
set proprio "moi"
set register_version "2.1a"
set foo "#salon1"
bind join - * foo 
proc foo {n u h c} { 
   puthelp "whois $n" 
} 
bind raw - 311 got311 ;# first WHOIS reply 
bind raw - 307 got307 ;# nick has identified (registered) 
bind raw - 318 got318 ;# End of /WHOIS list 
proc got311 {f k t} { 
   set n [lindex [split $t] 1] 
   set ::whoised($n) 0 
} 
proc got307 {f k t} { 
   set n [lindex [split $t] 1] 
   incr ::whoised($n) 
} 
proc got318 {f k t} { 
   set n [lindex [split $t] 1] 
   if {$::whoised($n) == 0} { 
      pushmode $chan +v  } 
}  
# on ban apres combien  de secondes ?
set banafter(j:s) 3:60 
 
bind join - * kick:unreg 
 
foreach {banafter(j) banafter(s)} [split $banafter(j:s) :] {break} 
 
proc kick:unreg {nick uhost hand chan} { 
global banafter whoised rejoins 
if {![info exists rejoins([set n [string tolower $nick]])]} { set rejoins($n) 0 } 
if {!$whoised($nick)} { 
    puthelp " mode $chan -v $nick "
#~~~~ On peux bbanir l'user ~~~~~~~~
  #newchanban $chan *!*@[lindex [split $uhost @] 1] unreg "STP , identifies ( /ns identify <ton_password> ) toi ou enregistres toi.Tu est bannis 5 mn. ban.Reviens quand ceci seras fait Merci.Si tu as un soucis vois sur #salon-aide" 5 
  utimer $banafter(s) [list incr rejoins($n) -1] 
  if {[incr rejoins($n)] >= $banafter(j)} { 
   puthelp " mode $chan -v $nick "
#~~~~~~decommanté si l'on  veux débannir (si l'option  ban à ete mise en place) ~~~~~~
#   puthelp "MODE $chan +b *!*@[lindex [split $uhost @] 1]" 
  } 
} 
} 
putlog "©Nick-REgister.tcl.tcl $register_version Script par  $proprio chargé  "
putserv "PRIVMSG #salon-log : \037\002©Nick-REgister.tcl $register_version Script par  ©cestlemien chargé \037\002 "


j'essaye de modifier se tcl mais :( pas moyen :/

en plus je veut qu'il "voice" les utilisateurs enregistrer :) pas de ban ni rien d'autre..

je comprend pas comment faire , même avec celui ci :(
#7
j'ai trouver ceci , mais comment le modifier a ma sauce ?


tcl
######
# BIND #
######
 
# Chaque fois que quelqu'un parle sur un salon, ont lance la procedure pub:pvoice
bind pub - * pub:pvoice
 
###########
# PUB:PVOICE #
###########
 
proc pub:pvoice {nick host hand chan arg} {
set arg [split $arg]
# Ont vérifie que la personne qui a parler est déjà voice
if { [isvoice $nick $chan] } {
# Si c'est le cas, ont stoppe tout
return 0
# Si non
} else {
# Ont vérifie que ce qu'elle a dit dépasse les 5 mots
if { [llength $arg] >= 5 } {
# Si c'est le cas, ont voice la personne
pushmode $chan +v $nick
# Si non
} else {
# Ont arrête tout
return 0
}
}
}

#8
Tu n'as pas du essayer bien longtemps:

tcl
###########################
# Nick-Register.tcl
###########################
set proprio "moi"
set register_version "2.1a"
set chan "#salon1"
bind join - * foo 
proc foo {nick uhost handle chan} {
   puthelp "whois $nick"
} 
bind raw - 307 got307 ;# nick has identified (registered) 
 
proc got307 {from key text} { 
   set nick [lindex [split $text] 1]
   pushmode $::chan +v $nick
}


Simplifié à l'extrème, voilà ce que ça donne.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#9
Le système d'accès XOP est facile à utiliser mais offre peu de possibilités de réglages.

Il suffirait de désactiver les accès XOP
Code:
/cs set #chan xop off
puis de définir le level AUTOVOICE à 0
Code:
/cs levels #chan set AUTOVOICE 0
et ainsi tous les utilisateurs enregistrés sur NickServ seraient automatiquement voicés.

Il me semble qu'il est aussi possible de voicer tous les utilisateurs même non-enregistrés en mettant le lvl à -1 (à vérifier).
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
#10
bonjour :) et merci de votre aide

voici le tcl modifier , mais aucune action n'est réaliser sur le chan !!


tcl
###########################
# Nick-Register.tcl
###########################
set proprio "moi"
set register_version "2.1a"
set chan "#salon1"
bind join - * foo 
proc foo {nick uhost handle chan} {
   puthelp "whois $nick"
} 
 
bind raw - 311 got311 ;# first WHOIS reply 
bind raw - 307 got307 ;# nick has identified (registered) 
bind raw - 318 got318 ;# End of /WHOIS list 
proc got311 {f k t} { 
   set n [lindex [split $t] 1] 
   set ::whoised($n) 0 
} 
proc got307 {from key text} { 
   set nick [lindex [split $text] 1]
   pushmode $::chan +v $nick
}
proc got318 {f k t} { 
   set n [lindex [split $t] 1] 
   if {$::whoised($n) == 0} { 
      pushmode +v   } 
}  
 
# on ban apres combien  de secondes ?
set banafter(j:s) 3:60 
 
bind join - * kick:unreg 
 
foreach {banafter(j) banafter(s)} [split $banafter(j:s) :] {break} 
 
proc kick:unreg {nick uhost hand chan} { 
global banafter whoised rejoins 
if {![info exists rejoins([set n [string tolower $nick]])]} { set rejoins($n) 0 } 
if {!$whoised($nick)} { 
    puthelp " mode $chan -v $nick "
#~~~~ On peux bbanir l'user ~~~~~~~~
  #newchanban $chan *!*@[lindex [split $uhost @] 1] unreg "STP , identifies ( /ns identify <ton_password> ) toi ou enregistres toi.Tu est bannis 5 mn. ban.Reviens quand ceci seras fait Merci.Si tu as un soucis vois sur #salon-aide" 5 
  utimer $banafter(s) [list incr rejoins($n) -1] 
  if {[incr rejoins($n)] >= $banafter(j)} { 
   puthelp " mode $chan -v $nick "
#~~~~~~decommanté si l'on  veux débannir (si l'option  ban à ete mise en place) ~~~~~~
#   puthelp "MODE $chan +b *!*@[lindex [split $uhost @] 1]" 
  } 
} 
} 
putlog "©Nick-REgister.tcl.tcl $register_version Script par  $proprio chargé  "
putserv "PRIVMSG #salon-log : \037\002©Nick-REgister.tcl $register_version Script par  ©cestlemien chargé \037\002 "



ensuite si je teste avec :
Quote:Code :

/cs set #chan xop off
puis de définir le level AUTOVOICE à 0

Code :

/cs levels #chan set AUTOVOICE 0
tout les utilisateurs enregistrer ou non sont voice !!


par contre si je met le tcl tel qu'il est plus haut + le mode autovoice -1 :
le botserv voice un utilisateurs non enregistrer et l'eggdrop le devoice :!!!
#11
Re ,
Oui effectivment le bot whois l'user on join, si pas register ou identifié ( partie "unreg" du tcl), ça stop la proc de +v ( ou envois d'un msg)et devoice si l'user est voicé par quelqu'un /services.
Si l'user est au contraire enregistré aupres des services ET identifié, le tcl ( pushmode +v) voice l'utilisateur.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Demande] Interdire Users sur un canal Staff only uDc 3 239 12/12/2021, 20:59
Last Post: uDc
  [Résolu] Comment recupére le nombre de personne d'un salon (Users, Operateur) Dydouch 4 4,145 01/11/2013, 23:55
Last Post: Dydouch
  Lancement du scrabble pour les users problème TekNix 2 4,614 30/08/2013, 01:28
Last Post: TekNix
  Enregistrer dans un fichier une demande ZoZo 3 4,529 11/05/2012, 17:52
Last Post: aliasangelius
  Probleme avec commande AJOUT d'users loulou7593 13 8,425 10/07/2010, 18:57
Last Post: CrazyCat
  Afficcher les users du chan cobex4 11 6,698 23/10/2008, 09:46
Last Post: cobex4

Forum Jump:


Users browsing this thread: 1 Guest(s)