Tcl - ajout suppression de logs

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 142 fois - Téléchargée 15 fois

Contenu du snippet

Bonjour tout le monde , alors voila j'ai recuperé une tcl pour ajouter et supprimer de logs
Pour utiliser le script: Il faut éxécuter le script Tcl dans le fichier conf (source scripts/nom-de-fichier.tcl)

Source / Exemple :


set tim [clock format [clock seconds] -format "%H:%M"]
set date [clock format [clock seconds] -format "%d_%m_%y"]
set salon "#monsalon"

	bind pub - !add pub:!add
	bind pub - !log pub:!list
    bind pub -|- !del pubdel

proc pub:!add { nick uhost handle channel arg } {
global fichierbug tim date salon
if {$channel == $salon} {
set log [open "./log.db" "a+"]
puts $log "$arg  2(ajouter par $nick)"
putquick "notice $nick : ok : 6ajouter avec 2succes!"
close $log
}
 }
   	putlog "\0032L\0034o\0035g\0036.T\0037C\00310L\003 (\0031320/04/2009\003) \00312p\0031a\0035r \0031A\00312t\0031o\0032k\003"

proc pubdel {nick host hand chan arg} {
global salon
if {$channel == $salon} {

    set file "./log.db"
            set theris [file exists [file join ./ temp_log.db]]
            if {$theris != 0} {
                eval "exec rm -f ./temp_log.db"
            }
            set tempfile [open [file join ./ temp_log.db] "w+"]
            set file [open $file "r+"]
            set ln 1
            while {[eof $file] == 0} {
                set line [gets $file]
                set msg $line
                set dele 0
                foreach prm $arg {
                    if {$ln == $prm} {
                        set dele 1
                    }
                }
                if {$dele == 0} {
                    if {$msg != ""} {
                        puts $tempfile "$msg"
                    }
                }
                set dele 0
                set ln [expr {$ln} +1]
            }
            putquick "NOTICE $nick :\00312 9-=-=-=-=-=- 12N° $arg : 13a été supprimé avec succes \00312 
9-=-=-=-=-=-"
            close $tempfile
            close $file
            eval "exec mv -f ./temp_log.db $file"
            return 1
            }
	}

 proc pub:!list { nick uhost hand channel arg } {
 global date tim salon
if {$channel == $salon} {
set fichierlog [open "./log.db" "r"]
set contenu [ read -nonewline $fichierlog]
set numero 1
foreach ligne [split $contenu "\n"] {
putquick "notice $nick :4 $numero.13 $ligne"
 incr numero 1
}
putquick "notice $nick :0,10Fin 2de la liste."
}
  }

Conclusion :


commande a utiliser :
!add
!del
!log
tu peux maudifier les commandes dans la source
Atok,

A voir également

Ajouter un commentaire

Commentaires

uaip
Messages postés
1470
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Salut,
je ne comprends pas pourquoi tu écris le set log... quand je parle de vérification d'ouverture, c'est après l'ouverture justement.
L'algo de base est :

file = ouvrir(fichier)
si (file == NULL) erreur
sinon {
....continuer la procédure
....fermer(file)
}
Et tu ne vérifies qu'une seule fois (de mémoire) l'ouverture de fichiers. Certes, ça fonctionne... et le jour où ça ne fonctionnera pas ?
Idem pour les caractères mIRC, ça fonctionne, ok, mais ça ne se fait pas, c'est tout (cf http://www.eggdrop.fr/Couleurs_et_mise_en_forme). D'ailleurs "tu as testé, ça marche très bien"... c'est sûr que si tu as testé sous mIRC, forcément les caractères mIRC fonctionnent :)
La prog, ce n'est pas de l'approximation. Quand on code un programme (ou script, ou autre), il NE DOIT PAS planter.

(je parle en connaissance de cause, la plupart des sources que je postais ici, à l'époque, plantaient)
cs_Atok
Messages postés
5
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
30 juin 2010
-
salut
set log [open "./log.db" "a+"] c'est pour l'ouverture de fichier
c comme sa en tcl l'ouverture de fichier et pour les caractères mIRC sa marche bien il n'a pas de problème en peu utiliser je teste ce code et il marche très bien
"(Et le code... bof bof.)" je suis encore débutant merci :p
uaip
Messages postés
1470
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Salut,
Les fichiers logs sont un exemple de base, et pourtant celui-ci est assez mauvais. Aucune vérification d'ouverture de fichier. Et le code... bof bof.
Pense à mettre les caractères spéciaux en octal (et non pas des caractères mIRC)
cs_Atok
Messages postés
5
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
30 juin 2010
-
salut
oui pingyan tu peu utiliser c script comme quoteur ou par exemple comme news
pingyan
Messages postés
30
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
9 novembre 2010
-
Salut,

D'après ce que tu dis, c'est un quoteur ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.