begin process at 2010 03 19 02:14:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive IRC

 > 

Archives

 > 

Au secours !

 > 

Help plizz


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Help plizz

vendredi 2 avril 2004 à 10:46:01 | Help plizz

guigui59430

Voila jai un script en socket pour mettre un fichier sur mon ftp et la source sapelle /ftp_send je c pas si des gens connaisse !! et ej voudrait mettre un timer pour que laction /ftp_send ce repete toute els 15 min voici el code




; ftpsend
; Snippet de kenji - www.ScriptsDB.org

; permet l'envoi d'un fichier sur un compte ftp

;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯;
; ftp send, par `kenji` <kenji-irc@altern.org> ;
; ;
; bout de codé réalisé pour mIRC6.x ;
; 02:40 11/07/02 - fr ;
;______________________________________________________;
; permet d'envoyer un fichier donné sur un compte ftp ;
; (configuration à la main, voir plus bas...) ;
; nb: ce script est à but éducatif. il est basique ;
; mais il sera facile d'y implémenter une interface.. ;
; virer les "echo etc.." ou mettre un ";" pour ne pas ;
; avoir d'affichage. ;
; ;
; utilisation: /ftp_send ;
;______________________________________________________;

;; /ftp_send
; déclenche l'envoi du fichier spéficié sur le serveur ftp donné.
; (les informations sont à modifier ci-dessous..)
alias ftp_send {
var %sock = $+(ftpsend_,$ticks)
ftpdata_create %sock

;;=== informations à modifier =====================================;;
; ci dessous, le fichier à envoyer (spécifier le chemin complet)
var %fichier = $mircdir/stats/hybrid-life/stats.txt


; l'adresse du serveur ftp
var %serveur = ftp.hybrid-life.com
; le port du serveur ftp (habituellement 21)
var %port = 21
; le nom d'utilisateur
var %login = hybrid-l
; le mot de passe associé au nom d'utilisateur
var %pass = webmaster
; le répertoire distant dans lequel sera déposé le fichier
var %rep = /web/musik/test/
;;=================================================================;;

; inscription des données en mémoire.. (hash)
ftpdata_add %sock file %fichier
ftpdata_add %sock host %serveur
ftpdata_add %sock port %port
ftpdata_add %sock user %login
ftpdata_add %sock pass %pass
ftpdata_add %sock cwd %rep
ftpdata_add %sock pos 0

sockopen %sock $ftpdata_get(%sock,host) $ftpdata_get(%sock,port)
}

;; gestion des données en mémoire (une hash associée à chaque socket)
alias -l ftpdata_create { var %hash = $$1 | if !$hget(%hash) { hmake %hash 5 } }
alias -l ftpdata_clear { var %hash = $$1 | if $hget(%hash) { hfree %hash } }
alias -l ftpdata_add { var %hash = $1 | if $hget(%hash) { hadd %hash $2 $$3- } }
alias -l ftpdata_get { var %hash = $1 | return $iif($hget(%hash),$hget(%hash,$2)) }

;;=====================================;;
; gestion des sockets ;
;;=====================================;;
;------ - ------------- - --- ---;
; canal de commande ;
;----------- ----- -- ----------;
; gestion de l'ouverture du socket
on *:sockopen:ftpsend_*:{ if $sockerr { echo 4 -ta ..ftpsend: erreur lors de la connexion au serveur. envoi annulé. | ftpdata_clear $sockname | return } }

; lecture des données
on *:sockread:ftpsend_*:{
if $sockerr { return }
sockread %temp
while $sockbr {
; affichage des données reçues
echo -ta ..ftpsend: $sockname -> %temp
; traitement du code reçu
var %code = $gettok(%temp,1,32)
ftpsend_treatcode $sockname %code $gettok(%temp,2-,32)
; lecture du prochain paquet..
sockread %temp
}
}

;------ - ------------- - --- ---;
; canal de données ;
;----------- ----- -- ----------;
; envoi des données du fichier

on *:sockopen:t_ftp_send_*:{
if $sockerr { echo 4 -a erreur | return }
echo -a canal de données ouvert
}
on *:sockwrite:t_ftpsend_*:{
if $sockerr { return }
var %sock = $remove($sockname,t_) , %pos = $ftpdata_get(%sock,pos) , %file = $quoted($ftpdata_get(%sock,file))

; pour un affichage éventuel des données..
var %pourcent = $+($round($calc((%pos * 100)/ $file(%file).size),1),%)
var %size = ( $+ $bytes(%pos,3).suf $+ / $+ $bytes($file(%file).size,3).suf $+ )
echo -ta ..ftpsend: $nopath($longfn(%file)) : %pourcent : %size

; tant que la totalité du fichier n'a pas été envoyée..
if (%pos < $file(%file).size) {
bread %file %pos 8192 &data
sockwrite $sockname &data
ftpdata_add %sock pos $calc(%pos + $bvar(&data,0))
}
; sinon, le transfert du fichier est complet. on ferme socket de données et session.
else { sockclose $sockname | sockwrite -n %sock QUIT }
}

;------ - ------------- - --- ---;
; gestion des codes reçus ;
;----------- ----- -- ----------;

;; /ftpsend_treatcode <socket> <code> [données]
; exécute l'action associée au code de réponse <code> du serveur ftp
alias -l ftpsend_treatcode {
var %sock = $1 , %code = $$2 , %data = $3-
; nom d'utilisateur
if (%code == 220) { sockwrite -n %sock user $ftpdata_get(%sock,user) }
; mot de passe
elseif (%code == 331) { sockwrite -n %sock pass $ftpdata_get(%sock,pass) }
; logged in
elseif (%code == 230) { sockwrite -n $sockname TYPE I }
; type *image* OK
elseif (%code == 200) { sockwrite -n %sock PASV }
; mode passif OK.
elseif (%code == 227) {
; tentative d'ouverture du canal de données, suivant les informations fournies
var %addr = $remove($gettok(%data,-1,32),$chr(40),$chr(41))
var %host = $replace($gettok(%addr,1-4,44),$chr(44),$chr(46))
var %hport = $gettok(%addr,5,44) , %lport = $gettok(%addr,6,44) , %port = $calc(%hport * 2^8 + %lport)

sockopen $+(t_,%sock) %host %port
; on change le répertoire courant
sockwrite -n %sock CWD $iif($ftpdata_get(%sock,cwd),$ifmatch,/)
}
; changement de répertoire courant OK.
elseif (%code == 250) {
; commande d'envoi du fichier de données, via la canal de commande
var %file = $ftpdata_get(%sock,file)
sockwrite -n %sock STOR $nopath($longfn(%file))
}
; le canal de donnée est ouvert. on envoie le fichier.
elseif (%code == 150) {
var %pos = $ftpdata_get(%sock,pos) , %file = $ftpdata_get(%sock,file)
bread %file %pos 8192 &data
sockwrite $+(t_,%sock) &data
ftpdata_add %sock pos $calc(%pos + $bvar(&data,0))
}
; session terminée.
elseif (%code == 221) { ftpdata_clear %sock }
}

;------ - ------------- - --- ---;
; librairie ;
;----------- ----- -- ----------;
;; $quoted(chemin/fichier)
; renvoie une chaine "chemin/fichier" (pour les chemins contenant des espaces)
alias -l quoted return $iif(" isin $$1-,$$1-,$+(",$$1-,"))



si vous pouvait m aider ca serait vrement tres sympatique

Merci @++
vendredi 2 avril 2004 à 12:22:15 | Re : Help plizz

SornDrixer

Administrateur CodeS-SourceS
Bonjour,

Alors déjà, évite de poster un topic comme "Help plizz", en général, si quelqu'un poste sur le forum, c'est qu'il a besoin d'aide, alors si tout le monde posterai ca comme titre ...
La prochaine fois, essaie d'être plus explicite sur ton problème ;)

Donc, pour répondre au problème, c'est très simple, il suffit de taper :
/timer 0 900 ftp_send

ici, le 0 c'est le nombre de répétition du timer, donc 0 = infini.
900 c'est l'interval en seconde pendant lequel la commande va s'éxécuter, 900 secondes = 15 minutes.

-= [ Sorn_Drixer ] =-
-
Un problème ? une question ? N'hésitez pas, le forum est là pour ça.

Vous pouvez me retrouver sur koliserv.dyndns.org:9010
vendredi 2 avril 2004 à 12:45:01 | Re : Help plizz

guigui59430


Oki désoler je ferait plus gaffe la prochaine foie euhh donc enfaite ce script et sur mon bot et donc je peut faire eun comande du genre



on 100:text:!ftp_send*:#:{
/timerftp 0 900 ftp_send
}


ca peut marcher ?
vendredi 2 avril 2004 à 16:48:29 | Re : Help plizz

SornDrixer

Administrateur CodeS-SourceS
Oui ca marchera. (pour toute personne ayant un pseudo comportant 100 d'accès sur ton mIRC)


on 100:text:!ftp_send*:#:timerftp 0 900 ftp_send


Je ne vois pas pourquoi tu ouvres des { } si c'est que pour une commande ...

-= [ Sorn_Drixer ] =-
-
Un problème ? une question ? N'hésitez pas, le forum est là pour ça.

Vous pouvez me retrouver sur koliserv.dyndns.org:9010
vendredi 2 avril 2004 à 18:46:13 | Re : Help plizz

guigui59430


oki bin enfaite c'est uen abitude de faire ca lol pour le level 100 je c'est ;) jen ai mis plin sur mon bot hihi
samedi 3 avril 2004 à 16:10:05 | Re : Help plizz

guigui59430


Reee excuse euh ce script nevoie pas de fichier plus gros que 8192 byte et mon fichier fait plus et je trouve aps pour quoi il envoie pas le restant :( le code et plus haut

merci @++
samedi 3 avril 2004 à 17:54:35 | Re : Help plizz

SornDrixer

Administrateur CodeS-SourceS

bread %file %pos 8192 &data


Je pense que c'est la ligne à adapter ...

-= [ Sorn_Drixer ] =-
-
Un problème ? une question ? N'hésitez pas, le forum est là pour ça.

Vous pouvez me retrouver sur koliserv.dyndns.org:9010
samedi 3 avril 2004 à 17:59:58 | Re : Help plizz

guigui59430


et ej doit faire koi avec ca !!! je doit la metre ds mon script ou alors je doit remplacer un truc ???
samedi 3 avril 2004 à 18:07:40 | Re : Help plizz

SornDrixer

Administrateur CodeS-SourceS
C'est une ligne du script à adapter.
8192 est codé sur 8 octets, et il faut respecter cet base. Met par exemple à la place 16384, ou +, en fonction de ton fichier, mais essaie de rester dans les multiples de 8.

-= [ Sorn_Drixer ] =-
-
Un problème ? une question ? N'hésitez pas, le forum est là pour ça.

Vous pouvez me retrouver sur koliserv.dyndns.org:9010
samedi 3 avril 2004 à 18:18:07 | Re : Help plizz

guigui59430

oki ds le script si tu regarde il y a deja une phrase avec 8192 et jai essaier de mettre 16384 mais ca change rien donne moi plus de precison et ou je met ta phrase ?? je comprend pas tout

1 2 3

Cette discussion est classée dans : code, ftp, var, sock, ftpdata


Répondre à ce message

Sujets en rapport avec ce message

Problème avec ftp_send, le retour =p [ par megatchu ] Bonjour,J'avais déja eu un problème avec le très bon script ftp_send ( voir ici ), et la réponse de uaip m'avais permis de faire fonctionner le script Probléme avec mon bot [ par Raziell ] En fait voila, j'ai fait un code pour un bot qui fait que l'orsqu'on tape !google sa donne l'url de la recherche a la personne en notice , voici mon Probléme de socket [ par Raziell ] Je me suis inspirer du tutorial de remi34 pour faire un sock me disant le titre d'une page Html ( super inutile , mais c'est un test )voila mon code ( Couleurs [ par l1solent ] on ^1:text:**:#:{ haltdef | var %temp.param = $nick $+ , $+ $chan | if ( $+ $color(background) isin $1-) { echo $chan  $+ $strip($1-,c) } | else { Code pour pv [ par angeldavid ] Bonjour tout le monde , est-ce que quelq'un aurait le code pour que quands quelqu'un nous parle en pv sa ferme la fenetre automatiquement ? Merci d'av Code pour anti language [ par angeldavid ] Bonjour all , j'en ai marre de voir des mecs qui insulte donc je vien sur ce forum car il est efficace , et si kkun peu me donner juste un code pour m Question noob [ par Elassar ] Bien je me présente je suis un noob : j'ai commencé à regarder le scripting depuis un mois.Ce fait étant établi je voulais savoir si le code suivant ( Aide pour %Variable [ par psyckan ] voila j aimerai fai une commande !addvar qui ajoute un var %1 var1 puis si l'on retape la commande ajoute un %var var2 voilaVoila merci d'avancePsyck pourquoi ma variable ne se désintalle pas??? [ par _Dams_ ] bonjour à tous,tout est dans le titre et voice mon code :on *:dialog:canaux:sclick:39:{ var %a 100 var %b 105 var %num 1 while (%a if ($did(%a Nbrs Factorielles [ par tofu ] Voila j'ai commencé à scripter quelques aliases pour faire des calculs avec les factorielles, si quelqu'un peut m'aider à optimiser un peu ça et/ou me


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,217 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales