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


Plainte.tcl
#1
Bonjour je voudrais savoir si sa serai possible de me créer un plainte.tcl pour mettre sur mon eggdrop pour mon serv. j'ai deja une source qui fonctionne que je voudrai améliorer.


tcl
###############
# Plainte.tcl #
###############
 
bind msgm - "*" plainte:send 
proc plainte:send { nick uhost hand arg } {
    set backroom "#Plainte"
    if { [string equal -nocase [lindex $arg 1] "plainte"] } {
        putserv "PRIVMSG $backroom :\[ Plainte \] [lindex $arg 0] contre [lrange $arg 2 end]"
	  putserv "NOTICE $nick :Votre plainte as été déposé au service abus. Merci de patienter."
    } 
}


Donc je voudrais qu'il enregistre les plaintes sur un fichier .txt
Que je tape !list pour avoir toute la liste des plaintes en notice.
quand je tape !read N° de la plainte ( !read 1 ) elle s'affiche sur le salon #Plainte et envoi une notice as la personne qui as porter plainte pour lui dire que la plainte as ete prise en charge par le service abus
et enfin un !del N° de la plainte ( !del 1 ) pour l'effacer de la base txt.

Merci D'avance.
Cordialement Aragorn
#2
C'est possible à faire, sauf l'envoi du notice: il faudrait être certain que la personne est encore sur le réseau et sous ce nick. Et qu'il s'agit de la même personne.
Je te poste dans la journée un exemple du système.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
au lieu de faire sa on peux pas faire une alias via le server pour faire /plainte (pseudo) (raison)



non ?
#4
Babytigrou16 Wrote:au lieu de faire sa on peux pas faire une alias via le server pour faire /plainte (pseudo) (raison)
On peut, mais ça n'a plus de rapport avec les eggdrops (première chose) et ça devient propre au serveur, la programmation sera donc différente selon l'ircd utilisé.

Sinon, voici le petit embryon de tcl que j'ai fait (il n'est pas testé, il n'est pas optimisé):

tcl
set backroom "#plainte";
set base "plaintes.txt";
 
bind msg - "plainte" plainte:sent
proc plainte:sent {nick uhost handle chan text} {
    putserv "PRIVMSG $::backroom :\[Plainte\] \002$nick\002 signale: $text"
    set fp [open $::base a]
    puts $fp "$nickµ$text"
    close $fp
    putserv "NOTICE $nick :Votre plainte a été enregistrée"
}
 
bind pub - "!read" plainte:read
proc plainte:read {nick uhost handle chan args} {
    if {[lindex $args 0] eq ""} {
        return 0
    } else  {
        set nb [lindex $args 0]
    }
    set fp [open $::base r]
    set cpt 0
    set data [read -nonewline $fp]
    close $fp
    foreach templine [split $data "\n"] {
        incr cpt
        if {$cpt == $nb} {
            set line [split $templine "µ"]
            set $user [lindex $line 0]
            putserv "PRIVMSG $::backroom \002$user\002 => [lindex $line 1]"
            return 1
        }
    }
    putserv "PRIVMSG $::backroom Plainte $nb introuvable"
}
 
bind pub - "!del" plainte:del
proc plainte:del {nick uhost handle chan args} {
    if {[lindex $args 0] eq ""} {
        return 0
    } else  {
        set nb [lindex $args 0]
    }
    set fp [open $::base r]
    set cpt 0
    set data [read -nonewline $fp]
    close $fp
    set fp [open $::base w]
    foreach templine [split $data "\n"] {
        incr cpt
        if {$cpt != $nb} {
            puts $fp $templine
        }
    }
    close $fp
}

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
oki mais oui que sa rapport avec l eggdrop que le server envoie une message au Eggdrop de dire a l'user parfait ta pleinte est prise men chartge et que on puisse voir la plainte avec l eggdrop
#6
CrazyCat Wrote:C'est possible à faire, sauf l'envoi du notice: il faudrait être certain que la personne est encore sur le réseau et sous ce nick. Et qu'il s'agit de la même personne.
......

Il faudrait se diriger vers MemoServ (Anope service) si présent sur le serveur IRC et personne enregistrée (NickServ).
#7
bonsoir j'ai tester le code mais je ne reçois rien sur le salon #Plainte et je doit etre en party-line avec mon bot pour voir les plaintes déposées.
Cordialement Aragorn

ps j'utilise un aliases dans mon unrealircd qui es le suivant:

tcl
###################
## Alias Plainte ##
###################
 
alias plainte {
    format "^[^#]" { 
        target "Plainte"; 
        type "normal"; 
        parameters "%n plainte %0-"; 
    };
    type command;
};



avec le plainte.tcl que j'ai mi au debut du poste.
#8
Ques que tu veux dire pour le plainte tcl ??? il peux ce faire avec l'eggdrop mais lié au server O_o en NetSplet
#9
J'ai peur que tu ais créé un sujet en voulant répondre à un autre... Je met à sa place.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#10
j ai un tcl de painte parfaitement bien d ou facile a l utilisation j essaye de le faire parretre sur le site des que jai internet car la je suis avec mon tel mdr, le script que jai on recoi les plaintes sur un salon pour y repondre on tape !ok pour ignorer la plainte !rej enfin.plein de truck je vous le ferai paretre bientot vous me direz ce que vous en pensez
#11
Voilà je viens de récupérer mon internet donc voilà mon bind

Script supprimé: lire cette page

Faite part de vos commentaires :p
#12
Le voici en pièce joint malheureusement beaucoup trop de couleurs et désolé encore


Possibly Related Threads…
Thread Author Replies Views Last Post
  Plainte avec contrôle anti flood Amand 0 203 02/09/2022, 18:34
Last Post: Amand
  [Résolu] Commande /plainte pseudo raison gérer par un eggdrop avec un alias Unrealircd Alucard`68 3 4,047 01/02/2017, 03:39
Last Post: Alucard`68
Money_euro Système de plainte BlackNight 9 6,423 26/06/2009, 16:18
Last Post: Merwin

Forum Jump:


Users browsing this thread: 1 Guest(s)