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
Répondre Avertir
#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 ).
Répondre
#3
bonjour

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

Citation :- directement par les services en modifiant les accès (tu peux dire que toute personne enregistré est voice),
Répondre Avertir
#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


:)
Répondre Avertir
#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.
Répondre Avertir
#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 :(
Répondre Avertir
#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
}
}
}


Répondre Avertir
#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.
Répondre
#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).
Répondre Avertir
#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 :
Citation :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 :!!!
Répondre Avertir
#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.
Répondre Avertir


Atteindre :


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