Script servant à lire le contenu d'un fichier texte
#1
Bonjour,

je suis entrain de bosser sur un script tcl qui va lire dans un fichier txt et à l'aide d'une commande ressort le contenu de ce fichier. Je me suis basé sur le script de quote.tcl qui ressemble à peu près au résultat que je souhaite obtenir.

Toutefois je rencontre quelques problèmes :

1/ J'aimerai que le script ne fonctionne que sur les channels que je précise dans une variable set txtchannel "#Chan1" mais ça ne marche pas, quelqu'un qui est sur un autre channel que #Chan1 mais où mon bot est présent et tape la commande !read ça retourne une réponse sur #Chan1

2/ Quand je fais !read *mot*clé* ça retourne parfaitement ce que je veux mais par contre je voudrai que quand je fasse !read tout court ça envoie une notice disant "Merci de préciser ta recherche". Comment pourrai-je faire ça ?

Voici donc le script : http://pastebin.com/GgSfbaTh

Merci à vous Wink
Répondre Avertir
#2
La réponse est à http://pastebin.com/C0fHJUz1 et tiens dans les lignes:
tcl
if { [string tolower $channel] ne [string tolower $::zikchannel] } { return 0; }
 if { [llength [split $arg]] == 0 } {
   putserv "NOTICE $nick :Merci de préciser ta recherche"
   return 0
 }


Répondre
#3
Merci CrazyCat pour ta réponse claire et rapide !

Code :
16:04 KiBa    !read
16:04     Alice Merci de préciser ta recherche. Exemple : !read *rap*us*
16:04     KiBa !read *rap*us*

Aucune réponse...

Si j'exagère un peu et que j'ajoute un autre fichier .txt dans le contenu de mon répertoire, je ne peux pas me débrouiller pour faire une sorte de array afin que le script lise le contenu de plusieurs txt ?

Merci pour ta réponse Wink
Répondre Avertir
#4
Tu peux très bien faire:
tcl
set zikfile { "/mon/repertoire/music1.txt" "/mon/repertoire/music2.txt" "/mon/repertoire/music3.txt"}


Et modifier la procédure pour ajouter une boucle sur les fichiers (avec un foreach).

Par contre, il va falloir modifier ton système de vérification de l'existence du fichier.
Répondre
#5
Je suis encore entrain de travailler sur la possibilité de lister plusieurs fichiers textes...

Une question me vient, comment je peux faire pour que l'eggdrop réponde si il y a plusieurs contenu dans le txt qui répondent à la recherche ?

Par exemple, je fais !read *eminem*drake* et il y a deux lignes dans le txt donc l'eggdrop réponds
Alice : Eminem feat Drake & Lil Wayne - forever
Alice : Eminem feat Drake - YMCMB

Et par la même occasion si la recherche ne retourne rien, comment envoyer une notice en disant Aucun contenu trouvé ?

Merci :p
Répondre Avertir


Atteindre :


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