Communauté sur les Eggdrops - Community about Eggdrops
ftp.tcl ... C'est jolie - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (https://forum.eggdrop.fr)
+-- Forum: Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum: Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Thread: ftp.tcl ... C'est jolie (/showthread.php?tid=206)



ftp.tcl ... C'est jolie - MewT - 03/05/2008

Bonjour ^^ Voilà je débute en TCL et j'ai quelques problèmes ^^
J'ai un projet pour mon bot qui est le suivant, chaque matin, à 2h du matin, il upload le fichier de logs créé automatiquement par l'eggdrop sur un FTP.
J'ai trouvé comment faire pour faire l'action à 2h


tcl
bind time - "00 02 * * *" upload
proc upload {min hour day month year } {
   // Ici l'upload du fichier
}


Mais pour l'upload, j'ai trouvé ftp.tcl sur ces forums mais j'avoue que je comprend pas comme il marche .. j'ai trouvé dans le code les fonctions mais après pour les utiliser... :/

# core ftp support: ftp::Open <server> <user> <passwd> <?options?>
# ftp::Close <s>
# ftp::Cd <s> <directory>
# ftp::Pwd <s>
# ftp::Type <s> <?ascii|binary|tenex?>
# ftp::List <s> <?directory?>
# ftp::NList <s> <?directory?>


Mais concrètement, ça s'utilise comment .. x) ?
Merci beaucoup ^^


RE: ftp.tcl ... C'est jolie - CrazyCat - 03/05/2008

Ca s'utilise un peu comme Http, par exemple:

tcl
set test [::ftp::open 127.0.0.1 anonymous me@pas.la]
::ftp::Cd $test /test/
....
::ftp::close $test

Je ne suis pas bien certain de moi, mais je revois ça dans quelques heures, avec un bel exemple pratique.


RE: ftp.tcl ... C'est jolie - MewT - 03/05/2008

Merci beaucoup :)
Je suis entrain de faire des tests avec ce que tu m'as dis ^^
Mais, j'essaye de faire comme ca dans mon fichier de config

source scripts/logszelda.tcl <-- Fichier qui upload
source scripts/ftp.tcl <-- Le fichier qui contient les commandes

Mais il me dit toujours "invalid command name "::ftp::open" "
je dois absolument réunir les deux fichiers ?


RE: ftp.tcl ... C'est jolie - CrazyCat - 03/05/2008

Il vaut mieux charger d'abord scripts/ftp.tcl (ne serait-ce que par logique) et je pense qu'il manque une ligne importante dans ton script:

tcl
package require ftp




RE: ftp.tcl ... C'est jolie - MewT - 03/05/2008

Merci :) J'ai grandement avancé ^^ Mais je me trouve confronté avec un autre problème :/
Les logs de l'eggdrop sont sous la forme chan.log.16Jan2008 par exemple
J'essaye donc de faire ça


tcl
set temps strftime %d%b%Y [expr [unixtime] -10800]


Pour créer dans la variable temps, le "18Jan2008" avec le timestamp du jours d'avant vu que la MAJ se fait à 2h00 donc je retranche 3h par mesure de sécurité ^^ mais c'est trop beau ... et ça se marche pas xD

Edit: Bon ben avec de la chance, j'ai trouvé x)


tcl
set temps [strftime %d%b%Y [expr [unixtime]]]




RE: ftp.tcl ... C'est jolie - CrazyCat - 03/05/2008

Tout d'abord... Pas bien les noms des fichiers de log... Il vaudrait mieux utiliser que des formats numériques car sinon tu as le problème de la langue du serveur et des majuscules/minuscules.

Et tu pourrais utiliser:

tcl
clock scan "yesterday"