[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
#2
J'aime bien le concept Smile
CrazyCat a écrit :La prochaine fois, essaye d'imaginer que j'ai un cerveau ...
  Répondre
#3
Idem je trouve ça sympa Smile
  Répondre
#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
#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.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 14/07/2018)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#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
#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)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 14/07/2018)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#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
#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
#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


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Module+Script] Keskidi v1.0.0 Artix 1 1,980 15/02/2011, 20:58
Dernier message: lesny

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)