[script] keskidi v1.0
#1
Description :
D'après une idée originale de MenzAgitat
Ce script permet de chercher automatiquement une ligne au hasard dite par un utilisateur en utilisant les logs de l'eggdrop (avec possibilité d'utiliser des jokers). Il permet aussi de chercher des actions.
Le tout est configurable pour chercher sur un certain nombre de jours maximum, pouvoir supprimer les couleurs si besoin, etc.
Un avantage (ou pas) du script est que les commandes déclenchées par bind pub(lique) ne sont pas inclues dans les logs, et n'apparaiteront donc pas.
Le script est entièrement commenté.

Ce script requiert Tcl 8.5 !!

Utilisation :
Un eggdrop a écrit :<Artix> !keskidi Artix
<L'egg> Artix a dit : bref de la parlote pour rien >< ca change pas vraiment grand chose
Le même eggdrop a écrit :<Artix> !keskifai Artix
<Le drop> Artix récupère la mise

Il est aussi possible d'utiliser des jokers :
a écrit : a écrit :<Artix> !keskidi Artix*
<La corde de vent> Artix[DS] a dit : paske il est encastre dedans sur plusieurs cotes
Devinez a écrit :<Artix> !keskidi *
<Le lâcher d'oeuf> MenzAgitat a dit : re
Vous moquez pas si je raconte des bêtises, c'est plus fort que moi.

Lien de téléchargement : Keskidi v1.0


Notes de configuration :
Le script est en grande partie automatisé, pour utiliser un maximum les réglages de l'eggdrop. Il détectera ainsi automatiquement les fichiers de logs associés à chaque chan, ainsi que la présence ou non d'un timestamp dans les logs, etc.
Cependant, puisque le script utilise les réglages actuels de l'eggdrop, il se peut qu'il soit incompatible avec des logs enregistrés en utilisant d'autres options. (variables logfile-suffix, keep-all-logs et log-time)
Il est donc néccessaire que l'eggdrop soit en train de logguer un chan pour pouvoir rechercher dans ses logs.
Un moyen simple de loguer un chan est d'ajouter dans son fichier de configuration:
TCL
logfile p <chan> <fichier>


Notes concernant le temps d'execution :
Pour éviter de devoir charger entierement chaque fichier de logs en mémoire, le script procède par lecture séquentielle. En contrepartie, cela augmente grandement le temps d'éxecution avec de gros logs.
Un antiflood multichans est donc présent pour éviter de trop ralentir l'eggdrop.

Notes techniques supplémentaires :
Le script utilise la fonction TCL clock scan pour parser le nom des fichiers de log et ainsi obtenir la date a laquelle chacun corresponds.
Le script pourrait se comporter de manière imprévisible si leur nom ne contiens pas assez d'informations concernant la date.
J'ai aussi pu remarquer que la fonction strftime d'eggdrop présente quelques différences mineurs avec la fonction TCL clock. La prise en charge de tous les formats de date n'est donc pas garantie (mais semble fonctionner pour une très grande partie)
Répondre Avertir
#2
J'aime bien le concept Smile
CrazyCat a écrit :La prochaine fois, essaye d'imaginer que j'ai un cerveau ...
Répondre Avertir
#3
Idem je trouve ça sympa Smile
Répondre Avertir
#4
bonsoir
j'ai voulu installer ce tcl qui me semble très bien et il m'affiche cela en pl : Tcl error: invalid command name "###############"

merci Smile
Gilles
Répondre Avertir
#5
C'est un problème d'encodage du fichier, tu l'as modifié avec un éditeur de texte qui l'a converti en UTF8 avec BOM au passage.

Voir cet article pour plus de détails : http://fr.wikipedia.org/wiki/Marque_d'ordre_des_octets

Trouve-toi un éditeur de texte qui respecte l'encodage des fichiers.
Répondre Avertir
#6
merci Menzagitat, j'ai donc juste mis le tcl tel quel et cela marche ...
je l'encoder tout simplement dans mon script mirc et ensuite le mettais comme ca. Ceka avait toujours marcher ...
%aintenant il me sors ca comme erreur en pl :
Tcl error [::keskidi::pubKeskidi]: bad option "-index": must be -all, -ascii, -decreasing, -dictionary, -exact, -glob, -increasing, -inline, -integer, -not, -real, -regexp, -sorted, or -start

Merci et bon wk
Gilles
Répondre Avertir
#7
@bewess :
mauvaise version de Tcl.
Il me semble que la commande lsort accepte l'option -index depuis Tcl 8.4 (il me semble).
  • Si ton bot est un eggdrop, tu dois mettre à jour ton package Tcl en v8.5.
  • Si ton bot est un windrop, tu dois le mettre à jour en v1.6.19 (compilé avec Tcl 8.5)
Répondre Avertir
#8
Merci pour cette réponse rapide Smile
Il y aurait un endroit ou je puisse trouver cela sans risque ( pour eggdrop )
merci
Gilles
Répondre Avertir
#9
tu peux trouver ton bonheur ici : http://windrop.sourceforge.net/downloads.html
il y a quelques explications sur le wiki : http://www.eggdrop.fr/Installation_d'un_eggdrop#Windrop
Répondre Avertir
#10
Màj mineure, suite a une erreur très bête de ma part...
Le script ne fonctionnait pas si le nom du chan sur IRC et dans la configuration de l'eggdrop n'était pas identique sur la casse (majuscules/minuscules)
Ca parrait bête, mais ca empechait parfois le script de détecter les logs.
Répondre Avertir


Atteindre :


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