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


répéter les notices reçues en salon.
#1
Bonsoir,

(Désolé, pour le titre pas très claire, je ne savait pas quoi mettre).

J'aimerais savoir si vous connaissaient un script qui permet de répéter les notices reçues et de les répéter en salon.

Exemple :

/msg Appolon glist ArKeNiS

NickServ envoie en notice à Appolon avec la liste des personnes qui fait partie du groupe ArKeNiS.
Mais, j'aimerais que le bot répète ce qu'a dis NickServ en salon.

Avez-vous une idée ?

Cordialement,

PS : Je vais faire ma présentation dès maintenant.
#2
Répèter les notices est pas très compliqué mais... chui pas sur que ca soit vraiment une bonne idée ><

Le problème est que d'après ce que j'ai vu il n'y a pas vraiment de moyen d'identifier les notices.
Non seulement le texte varie d'un service à l'autre, mais aussi d'une langue à l'autre, et pour couronner le tout, la réponse est envoyée sur plusieurs lignes...

Ca devrait être facilement résolu avec vwait - en prenant les lignes une par une :
lorsque la première ligne "Liste des pseudos dans votre groupe:" arrive - on capture les x prochaines lignes jusqu'a "x pseudos dans le groupe."
Le problème après c'est que c'est seulement compatible avec eggdrop 1.6.20, 1.8 et supérieurs.
#3
salut ,
de mémoire le msg n'est pas envoyé en notice par le serveur mais via le bind msg ( a confirmer via les raw) et ce , suivant le serveur sur lequel on est. De plus je doute que celà soit une bonne idée, ou alors il faut que ça ne match QUE sur les msg/notices du serveur, sinon, ça vas flooder un max ton salon ( ou le salon de log).Tu peux t'aider du tcl spy.tcl peut etre.
Cordialement
#4
cestlemien: afaik sur anope/epona il y a un réglage dans NickServ pour définir si les services evoient des PRIVMSG ou des NOTICE mais c'est pas un problème à partir du moment ou on sait lesquelles capturer.
#5
Merci de vos réponses.

"ça vas flooder un max ton salon" C'est juste pour quelques commandes, donc ça ne floodera pas mon salon.
#6
Artix,
ouip, justement je voulait juste le souligner, et merci nos reponsent semblent ce confirmer. (desolé on a dû ecrire le post quasi en même temp :D )
#7
Re,
j'ai retrouvé ceci , si ça peux servir ...

A NOTER QUE L4EGGDROP DOIS AVOIR UNE O-LINE


tcl
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# NSGLIST.TCL
set NSGlist_version "1.1.1"
# by ToM (2006) 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# DESCRIPTION :
#   Designed to allow any IRCOp to see the nicks group of some user.
#   The script is active in the channels by using .chanset #chan +glist
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# CHANGELOG :
# v1.0
#   Script creation
# v1.1
#   Added the comments - You never know who will maintain your scripts.
#   Added an init: $glistout wasnt set on load and all notices were processed.
#   Added an output when no arg are given, then we know Services dont just lag.
# v1.1.1
#   Added a channel flag: .chanset #chan +nsglist
#   Bind changed from pubm to pub
#   Renamed to NSGlist.tcl
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# TODO LIST :
#   - Maybe someday add some way to make the output switchable between full
#     display or in a single line
#   - Add an optional access protection (chan status, user flag)
#   - Split the NickServ query from the nsglist:input proc, to make it
#     available for other scripts - Maybe turn all of this to a gigantic
#     Services Query script...
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Do not edit bellow until you know what you're doing :p
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# INIT
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Set $glistout to 0 on load, or any notice will be
# processed until the script is triggered.
set glistout 0
setudef flag nsglist
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# CHANNEL TRIGGER
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
bind pub - "!glist" nsglist:input
proc nsglist:input { nick uhost handle chan arg } {
 
    if { ! [channel get $chan nsglist] } {
        putlog "WARNING: $nick$uhost @ $chan tried to use !glist: $arg"
        return 0
}
 
    # No arg? Lets explain this complicated syntax.
    if { [lindex $arg 0] == "" } {
        putserv "privmsg $chan :Syntax: !glist <NiCk>"
        return 0
}
 
    putserv "privmsg Nickserv :glist [lindex $arg 0]"
    global glistoutchan
    set glistoutchan $chan
 
 
    # Tracability
    putlog "GList: $nick$uhost on $chan used !glist: $arg."
 
}
 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# NICKSERV NOTICES HANDLERS
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
# toggle output on
bind notc - "List of nicknames in the group of*" nsglist:bind
proc nsglist:bind { nick uhost handle text dest } {
 
    global glistout
    set glistout 1
 
}
 
# Display
bind notc - * nsglist:output
proc nsglist:output { nick uhost handle text dest } {
 
    global glistout glistoutchan
 
    if { $glistout == 1 } {
        putserv "privmsg $glistoutchan :$text"
    }
 
}
 
# Toggle output off
bind notc - "*nicknames in the group." nsglist:unbind
proc nsglist:unbind { nick uhost handle text dest } {
 
    global glistout
    set glistout 0
}
 
 } else {
     puthelp "PRIVMSG $chan : $nick :  desolé je n'y ai pas accés à la liste de $arg, il me faut le flag ircop , ou le pseudo  n'est pas enegistré"
  }
 return 0
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
putlog "\002NSGList.tcl\017 v$NSGlist_version by ToM loaded. (commande en pl .chanset #chan +nsglist etsur lechan  !glist)"

#8
Merci :)

La tcl fonctionne pour moi :)

Merci encore :)
#9
salut ,
Penses a ajouter les services en amis
(exemple en pl : )
Quote: .+bot services *!*@host.des.services
.chattr services +f
.save
ceci devrait resoudre ton soucis de mise en ignore.
#10
Re,

Il y aurais un moyen que si les users envoie une notice au bot que le bot ne répète pas dans le salon de log ?
Je veux juste les commandes lol


Forum Jump:


Users browsing this thread: 1 Guest(s)