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


lister les scripts chargés
#10

tcl
proc publicite { hand arg idx } {

Un bind DCC envoie trois arguments à une procédure, à savoir dans l'ordre le handle de l'utilisateur, son idx et le texte qu'il a tapé. Donc dans ce cas, ça serait plus "hand idx arg" que "hand arg idx". Il vaut mieux aussi utiliser autre chose que "arg" pour éviter de confondre avec "args" (qui regroupe les arguments supplémentaires dans une liste).

Sinon j'ai quelques autres remarques concernant le script :
- La variable s'appelle salons, et pas salon. On peut donc penser que le script est concu pour fonctionner sur plusieurs chans (par exemple en les séparant par des virgules). Le problème, c'est que ca passera pas sur eggdrop, au niveau des "validchan" "channel add" etc.
- A cause du SAJOIN j'en conclus que le bot est IRCOp... Et donc, je pense qu'il serait carrément plus simple d'utiliser les services si possible (Global, BotServ, tout ça)
-

Voila une version modifiée pour prendre en compte les salons multiples :


tcl
bind dcc - publicite dcc:publicite:main
 
proc dcc:publicite:main {handle idx text} {
    foreach currentChan [split $text ", "] {
        if {$currentChan eq ""} { continue }
        if {[validchan $currentChan]} { putdcc $idx "Je suis déjà sur le canal $currentChan !"; continue }
        lappend chanList $currentChan
        append modeTargets "MODE $currentChan +oq $::botnick $::botnick\n" }
if {![llength $chanList]} { putdcc $idx "Canaux invalides ?" }
    set joinedList [join $chanList ","]
 
    # Note: Plutôt que de channel add / channel remove
    # il est plus simple de tout faire d'un coup, le bot quittera automatiquement le chan ensuite
    putdccraw 0 [string length [set rawText "SAJOIN $::botnick [join $joinedList]\n[set modeTargets]PRIVMSG [join $joinedList] :$::phrasepub"]] $rawText
    return }

Je ne l'ai pas testé mais (euh) je pense qu'il devrait fonctionner


Messages In This Thread
lister les scripts chargés - by frisk - 23/06/2009, 16:44
RE: lister les scripts chargé - by heretoc - 23/06/2009, 16:48
RE: lister les scripts chargé - by frisk - 23/06/2009, 16:53
RE: lister les scripts chargé - by fedora - 23/06/2009, 17:20
RE: lister les scripts chargé - by CrazyCat - 24/06/2009, 09:25
RE: lister les scripts chargé - by fedora - 24/06/2009, 10:17
RE: lister les scripts chargés - by Merwin - 24/06/2009, 14:53
RE: lister les scripts chargés - by frisk - 24/06/2009, 16:52
RE: lister les scripts chargés - by Artix - 25/06/2009, 09:55
RE: lister les scripts chargés - by Merwin - 25/06/2009, 16:31
RE: lister les scripts chargés - by frisk - 25/06/2009, 16:55
RE: lister les scripts chargés - by Artix - 25/06/2009, 20:01

Possibly Related Threads…
Thread Author Replies Views Last Post
  Lister les utilisateurs en tcl Dani 4 4,936 06/04/2012, 20:15
Last Post: aliasangelius
  Lister des utilisateurs sur un réseau IRC. ArKeNiS 5 5,215 26/07/2011, 17:43
Last Post: djkenny
  Propriété des scripts CrazyCat 0 3,397 28/02/2011, 17:05
Last Post: CrazyCat

Forum Jump:


Users browsing this thread: 1 Guest(s)