[Module+Script] Keskidi v1.0.0
#1
Description:
Vous vous souvenez du vieux keskidi ? Non? Raaah, bon, je vais vous expliquer alors.
C'est un script qui permet de chercher une ligne au hasard dite par quelqu'un, tout ça grâce aux logs de l'eggdrop. Trop cool hein ?

Pourquoi "le vieux" ?
Bah, par ce que celui là, il est tout neuf !
Au lieu d'utiliser une recherche par TCL super lente et tout (jusqu'a 0.5s par recherche sur #boulets :s), cette version là utilise un module home-made.
Forcément, c'est beaucoup, beaucoup, beaucoup plus rapide.

Edit: Effectivement, après des tests sur un shell tonbnc, une recherche sur une semaine de logs prends environ 154ms avec le keskidi habituel, contre seulement 8.5ms avec le module (soit 18.5x plus rapide)
A noter que ce temps dépends aussi grandement de la machine, puisque sur un autre PC on obtiens un temps approchant 0.45s pour le keskidi habituel.

Les différences par rapport au script
- Largement plus rapide (30% plus rapide sur mes logs miniatures, probablement beaucoup plus rapide que ça sur des gros logs, je vais essayer de tester ça)
- Plus d'anti-flood integré du coup
- Ne gère plus les jokers, mais il est toujours possible de chercher une ligne dite par n'importe qui (en mettant * en pseudo)

Téléchargement (tiens, vous avez vu, c'est le téléchargement numéro 200 :°)


Autres informations

Le package inclus:
- Le code source, commenté en anglais
- Un script TCL pour contrôler le module, en anglais et en français
- Les instructions d'installation en anglais et en français
- Un changelog
Le tout est dans une archive TAR

Comment ça marche ?
Le module en C procède a la recherche dans les fichiers à la place du script TCL (et croyez moi - c'est beaucoup plus compliqué!), mais l'algorythme est plus ou moins identique à celui d'avant.
Le script TCL inclus dans le package est en grande partie repris du script original. C'est lui qui met en place les commandes publiques, la gestion des canaux, et recherche les fichiers par date. Il appelle ensuite le module pour qu'il fasse la recherche dans les fichiers à sa place.

Un module ET un script ? Et puis quoi encore ?
Une partie des fonctions que j'ai inclus dans le script peuvent bien sur être implémentées au niveau du module, mais pas totalement. Donc, tant qu'a faire, je préfère garder un module flexible (puisqu'il n'est pas directement lié au keskidi), d'autant plus que, heu, c'est moins de boulot. Ah et puis, la recherche dynamique des fichiers en fonction de la date utilise les fonctions clock scan et des variables du fichier de configuration, donc ca me parrait difficilement faisable en C.

Plus une BETA qu'une vraie release
Comme expliqué dans le changelog, c'est mon premier module (on va pas compter mes bidouilles sur le module megahal, je savais même pas me servir de l'allocation dynamique et ne connaissait pas le fonctionnement de C >_<). Et même si ca fait déjà presque deux mois que je m'acharne à avoir un truc qui marche sans memory leaks ou autres trucs dans ce genre, c'est toujours possible. Si ça venait arriver, ou s'il y a un autre bug, contactez moi.

maimaimais! pourquoi y'a plus les jokers et le keskifai ?
Concernant les jokers, c'est plus une contrainte technique: pour faire bref, j'ai aucune idée de comment faire ça en C :°
Je crois que c'est possible en utilisant sscanf mais Galdinx m'a déconseillé d'utiliser ce genre de trucs.
Pour le keskifai, c'est simplement par flemme heu, le fait que je viens tout juste de faire tout ça. Et comme pour le keskidi quand je l'ai commencé, ca ne gérait pas les actions. Donc, si possible j'intégrerais ça plus tard dans le module :°
  Répondre
#2
Bonjour artix

voilà j'ai télécharger ton script j'ai bien suivi ce que tu disais dans lisez-moi j'ai rehash puis restart le bot; je tape bien la command !keskidi.on jusque la tous fonctionne mais, une fois que je fais !keskidi pseudo il me dit <<Les logs ne sont pas activés sur le canal #accueil, il est donc impossible d'utiliser la commande !keskifai dessus.>>

j'ai donc appelé alias_angelius à l'aide il a bien regarde mais, il s'avère que lui non plus ne comprend pas car, tous est bon l'eggdrop log bien le chan #accueil mais rien ni fais donc avons donc die et recompiler l'eggdrop et toujours le même problème

si tu pouvais m'aider merci
  Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [script] keskidi v1.0 Artix 9 3,638 03/09/2011, 01:18
Dernier message: Artix

Atteindre :


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