cette addon vous permet de cree un server xftp en dcc
il a un system d'adminstration avec des droit d'access read write delet et admin et une reconnaissance par login et pass
Source / Exemple :
;mIRC-FTP V1.5 par aerith "aeris_vallee@hotmail.com"
;Votre DCC chat et send doit fonctionner
;Pour une utilisation partiel ou complette dans un script conacter moi
;Ne jamais activer d'away si le ftp tourne ca va bien flooder sinon
;##########MENU##########
menu channel,menubar {
-
mIRC FTP
.run: if (!$window(@mIRC-FTP)) ftpstart
.configure: if (!$dialog(ftpconfig)) dialog -m ftpconfig ftpconfig
}
;##########CONFIG##########
dialog ftpconfig {
title "mIRC-FTP -=Config=-"
size -1 -1 164 91
option dbu
box "Access", 1, 1 0 120 39
text "Login", 2, 3 7 15 10
edit "", 3, 18 7 40 10, autohs
text "Password", 4, 59 7 25 10
edit "", 5, 84 7 35 10, autohs
check "lire", 6, 3 17 25 10
check "ecrire", 7, 33 17 25 10
check "suprimer", 8, 60 17 30 10
check "admin", 9, 93 17 25 10
text "Repertoire", 10, 3 27 25 10
edit "", 11, 29 27 70 10, autohs
button "choix", 18, 99 27 20 10
list 12, 1 40 120 50, size vsbar
button "ajouter", 13, 124 3 37 10
button "suprimer", 14, 124 14 37 10
check "Loger action", 15, 122 25 45 10
check "Auto run", 16, 122 35 45 10
check "Lancer avec", 19, 122 45 45 10
text "viewer", 20, 130 55 37 10
button "Lancer FTP", 21, 124 69 37 10
button "Sortir", 17, 124 80 37 10, ok cancel
}
on *:dialog:ftpconfig:init:*:{
if ($mircftp(option,log) == on ) did -c ftpconfig 15
if ($mircftp(option,autorun) == on ) did -c ftpconfig 16
if ($mircftp(option,viewer) == on ) did -c ftpconfig 19
ftploginlist
}
on *:dialog:ftpconfig:sclick:*:{
;##ajouter login##
if ($did == 13) {
if (!$did(3)) { set %ftperror manque un login | $dialog(ftperror,ftperror) | halt }
if (!$did(5)) { set %ftperror manque un password | $dialog(ftperror,ftperror) | halt }
if (!$did(11)) { set %ftperror manque un repertoire | $dialog(ftperror,ftperror) | halt }
if ($mircftp($did(3),login)) {
set %ftperror login existe deja, confirmer modification
$dialog(ftperror,ftperror)
if (%ftpok == no) halt
}
var %a = +
if ($did(6).state == 1) var %a = %a $+ r
if ($did(7).state == 1) var %a = %a $+ w
if ($did(8).state == 1) var %a = %a $+ d
if ($did(9).state == 1) var %a = %a $+ a
$mircftp($did(3),login,$did(3))
$mircftp($did(3),pass,$did(5))
$mircftp($did(3),access,%a)
$mircftp($did(3),directory,$did(11))
ftpaline addlogin par 4 consol 7 $did(3) $did(5) %a $did(11)
ftploginlist
}
;##suprimer login##
elseif ($did == 14) {
if (!$did(3)) { set %ftperror manque un login | $dialog(ftperror,ftperror) | halt }
if ($mircftp($did(3),login)) {
set %ftperror confirmer supression pour $did(3)
$dialog(ftperror,ftperror)
if (%ftpok == no) halt
}
else {
set %ftperror $did(3) pas dans la database
$dialog(ftperror,ftperror)
halt
}
$mircftp(del,$did(3))
ftpaline dellogin par 4 consol 7 $did(3) $did(5) %a $did(11)
ftploginlist
}
;##action log##
elseif ($did == 15) {
if (($mircftp(option,log) == on) && ($did(15).state != 1)) {
ftpaline log mi sur 7 OFF
$mircftp(option,log,off)
}
else {
ftpaline log mi sur 7 ON
$mircftp(option,log,on)
}
}
;##auto run##
elseif ($did == 16) {
if (($mircftp(option,autorun) == on) && ($did(16).state != 1)) {
$mircftp(option,autorun,off)
ftpaline autorun mi sur 7 OFF
}
else {
$mircftp(option,autorun,on)
ftpaline autorun mi sur 7 ON
}
}
;##choix repertoire##
elseif ($did == 18) {
var %a = $sdir(C:,choisir repertoir maison)
did -ra ftpconfig 11 %a
}
;##start avec viewer##
elseif ($did == 19) {
if (($mircftp(option,viewer) == on) && ($did(19).state != 1)) {
$mircftp(option,viewer,off)
ftpaline viewer mi sur 7 OFF
}
else {
$mircftp(option,viewer,on)
ftpaline viewer mi sur 7 ON
}
}
;##lancer ftp##
elseif ($did == 21) {
if (!$window(@mIRC-FTP)) ftpstart
}
}
;##double clik dans la liste##
on *:dialog:ftpconfig:dclick:12:{
var %a = $ini(mircftplogin.ini,$did(12).sel)
if (r isin $mircftp(%a,access)) did -c ftpconfig 6
else did -u ftpconfig 6
if (w isin $mircftp(%a,access)) did -c ftpconfig 7
else did -u ftpconfig 7
if (d isin $mircftp(%a,access)) did -c ftpconfig 8
else did -u ftpconfig 8
if (a isin $mircftp(%a,access)) did -c ftpconfig 9
else did -u ftpconfig 9
did -ra ftpconfig 3 $mircftp(%a,login)
did -ra ftpconfig 5 $mircftp(%a,pass)
did -ra ftpconfig 11 $mircftp(%a,directory)
}
;##########ERROR DIALOG#########
dialog ftperror {
title "mIRC-FTP -=Erreur=-"
size -1 -1 100 50
option dbu
text %ftperror, 1, 0 0 100 40, center
button "OK", 2, 0 40 100 10, ok
}
on *:ftperror:init:*:{
set %ftpok no
}
on *:ftperror:sclick:2:{
set %ftpok ok
}
;##########MSG COMMANDES##########
on *:text:*:?: {
if ($window(@mIRC-FTP)) {
;##msg help##
if ($1 == ftphelp) {
notice $nick auth, /msg $me ftpauth <login> <pass>
notice $nick help : voir help user
notice $nick adminhelp : voir help admin
}
;##ftpauth <login> <pass>##
elseif ($1 == ftpauth) {
ftpaline ftpauth par 4 $nick 7 $2-
if ($mircftp($2,login)) {
if ($mircftp($2,auth) != ok) {
if ($mircftp($2,pass) == $3) {
if (!$chat($nick)) dcc chat $nick
writeini -n mircftp/nick.ini nick $2 $nick
writeini -n mircftp/nick.ini anick $nick $2
}
else notice $nick pass incorect
}
else notice $nick deja identifier
}
else notice $nick login incorect, /msg $me ftpauth <login> <pass>
}
ftpviewerlist
;retirer si non utiliser dans un script
;close -m $nick
}
}
;##########DCC CHAT COMMANDES##########
on *:chat:*: {
if ($window(@mIRC-FTP)) {
;##.access##
if ($1 == .access) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
msg =$nick $ini(mircftp/login.ini,0) login dans la database
var %a = 1
while (%a <= $ini(mircftp/login.ini,0)) {
var %b = $ini(mircftp/login.ini,%a)
if (%b) msg =$nick 4 $mircftp(%b,login) 7 $mircftp(%b,access) 14 $mircftp(%b,directory)
inc %a 1
}
ftpaline access par 4 $nick
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.addlogin <login> <pass> +rwd <repertoire>##
elseif ($1 == .addlogin) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if (($2) && ($3) && ($4) && ($5) $$ ($chr(43) isin $4)) {
if (a !isin $4) {
if ($exists($5-)) {
if (!$mircftp($2,login)) {
if ($mircftp($ftpnick($nick),directory) isin $5) {
$mircftp($2,login,$2)
$mircftp($2,pass,$3)
$mircftp($2,access,$4)
$mircftp($2,directory,$5-)
msg =$nick login ( $+ $mircftp($2,login) $+ )( $+ $mircftp($2,access) $+ )( $+ $mircftp($2,directory) $+ )
ftpaline addlogin par 4 $nick 7 $2-
}
else msg =$nick vous ne pouvez metre en repertoire de base que la ou vous avez access
}
else msg =$nick access existant
}
else msg =$nick manque un repertoire
}
else msg =$nick un admin ne peut pas crée d'admin
}
else msg =$nick erreur syntax, .addlogin <login> <pass> -rwd <directory>
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.dellogin <login>##
elseif ($1 == .dellogin) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if ($2) {
if (a !isin $mircftp($2,access)) {
if ($mircftp($2,login)) {
$mircftp(del,$2)
msg =$nick login $2 suprimer
ftpaline dellogin par 4 $nick 7 $2
}
else msg =$nick login non existant
}
else msg =$nick un admin ne peut pas suprimer d'access admin
}
else msg =$nick erreur syntax, .dellogin <login>
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.newpass <login> <new_pass>##
elseif ($1 == .newpass) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if (($2) && ($3)) {
if (a !isin $mircftp($2,access) {
if ($mircftp($2,login)) {
$mircftp($2,pass,$3)
msg =$nick pass de $2 changer pour $3
ftpaline newpass par 4 $nick 7 $2-
}
else msg =$nick login non existant
}
else msg =$nick un admin ne peut pas modifier un pass admin
}
else msg =$nick erreur syntax, .newpass <login> <new_pass>
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.newlogin <login> <new_login>##
elseif ($1 == .newlogin) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if (($2) && ($3) $$ ($4)) {
if (a !isin $mircftp($2,access) {
if ($mircftp($2,login)) {
$mircftp($3,login,$3)
$mircftp($3,pass,$mircftp($2,pass))
$mircftp($3,access,$mircftp($2,access))
$mircftp($3,directory,$mircftp($2,directory))
$mircftp(del,$2)
msg =$nick login de $2 changer pour $3
ftpaline newlogin par 4 $nick 7 $2-
}
else msg =$nick login non existant
}
else msg =$nick un admin ne peut pas modifier un access admin
}
else msg =$nick erreur syntax, .newlogin <login> <new_login>
}
else msg =$nick utiliser ftpauth
}
else msg =$nick admin access required
}
;##.newaccess <login> +rwd##
elseif ($1 == .newaccess) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if (($2) && ($3)) {
if (a !isin $mircftp($2,access) {
if ($mircftp($2,login)) {
$mircftp($2,access,$3)
msg =$nick access de $2 changer pour $3
ftpaline newaccess par 4 $nick 7 $2-
}
else msg =$nick login non existant
}
else msg =$nick un admin ne peut pas modifier un access admin
}
else msg =$nick erreur syntax, .newaccess <login> +rwd
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.newdirectory <login> <directory>##
elseif ($1 == .newdirectory) {
if (a isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if (($2) && ($3)) {
if (a !isin $mircftp($2,access) {
if ($mircftp($2,login)) {
$mircftp($2,directory,$3-)
msg =$nick repertoire de $2 changer pour $3
ftpaline newdirectory par 4 $nick 7 $2-
}
else msg =$nick login non existant
}
else msg =$nick un admin ne peut pas modifier un access admin
}
else msg =$nick erreur syntax, .newdirectory <login> <directory>
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un access admin est necessaire
}
;##.cd <repertoire>##
if ($1 == .cd) {
if ($mircftp($ftpnick($nick),auth) == ok) {
if ($2 == ..) {
var %a = $mircftp($ftpnick($nick),curent)
var %a = $left(%a,$calc($len(%a) - $len($gettok(%a,$numtok(%a,92),92)) - 1))
if ($exists(%a)) {
if ($mircftp($ftpnick($nick),directory) isin %a) {
$mircftp($ftpnick($nick),curent,%a)
}
else msg =$nick pas autoriser pour ce repertoire
}
}
else {
if ($2) {
var %a = $mircftp($ftpnick($nick),curent) $+ $2- $+
if ($exists(%a)) {
if ($mircftp($ftpnick($nick),directory) isin %a) {
$mircftp($ftpnick($nick),curent,%a)
}
else msg =$nick pas autoriser pour ce repertoire
}
else msg =$nick repertoire %a non existant
}
else msg =$nick repertoire %a non existant
}
msg =$nick courant: 12 $mircftp($ftpnick($nick),curent)
ftpaline cd 14 $mircftp($ftpnick($nick),curent) 1 par 4 $nick
}
else msg =$nick utiliser ftpauth
}
;##.get <fichier>##
if ($1 == .get) {
if (r isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $mircftp($ftpnick($nick),curent) $+ $2-
if ($exists(%a)) {
dcc send -c $nick %a
$mircftp($ftpnick($nick),send,%a)
ftpaline get 14 $mircftp($ftpnick($nick),send) 1 pour 4 $nick
}
else msg =$nick fichier %a non existant
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un droit de lecture est necessaire
}
;##.delete <fichier>##
if ($1 == .delete) {
if (d isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $mircftp($ftpnick($nick),curent) $+ $2-
rename %a mircftpdeleted $+ $2-
msg =$nick %a suprimer
ftpaline delete 14 %a 1 par 4 $nick
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un droit de supression est necessaire
}
;##.cut <fichier>##
if ($1 == .cut) {
if ((r isin $mircftp($ftpnick($nick),access)) && (d isin $mircftp($ftpnick($nick),access))) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $mircftp($ftpnick($nick),curent) $+ $2-
if ($exists(%a)) {
rename " $+ %a $+ " "mircftpcut $+ $2- $+ "
$mircftp($ftpnick($nick),copy,mircftpcut $+ $2-)
msg =$nick %a couper
ftpaline cut 14 %a 1 par 4 $nick
}
else msg =$nick fichier %a non existant
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un droit de supression et de lecture est necessaire
}
;##.copy <fichier>##
if ($1 == .copy) {
if (w isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $mircftp($ftpnick($nick),curent) $+ $2-
if ($exists(%a)) {
$mircftp($ftpnick($nick),copy,%a)
msg =$nick %a copier
ftpaline copy 14 %a 1 par 4 $nick
}
else msg =$nick fichier %a non existant
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un droit de lecture est necessaire
}
;##.paste##
if ($1 == .paste) {
if (w isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $mircftp($ftpnick($nick),copy)
if ($exists(%a)) {
msg =$nick attender, copie en cour...
if (mircftpcut isin %a) rename " $+ %a $+ " " $+ $mircftp($ftpnick($nick),curent) $+ $nopath(%a) $+ "
else copy " $+ %a $+ " " $+ $mircftp($ftpnick($nick),curent) $+ "
msg =$nick $nopath(%a) coller
ftpaline paste 14 $nopath(%a) 1 par 4 $nick
}
else msg =$nick fichier %a non existant
}
else msg =$nick utiliser ftpauth
}
else msg =$nick un droit d'ecriture est necessaire
}
;##.dir##
if ($1 == .dir) {
if ($mircftp($ftpnick($nick),auth) == ok) {
var %a = $finddir($mircftp($ftpnick($nick),curent),*,0,0,msg =$nick $gettok($1-,$numtok($1-,92),92))
var %b = $findfile($mircftp($ftpnick($nick),curent),*,0,0,msg =$nick $gettok($1-,$numtok($1-,92),92) - $octet($file($1-).size) - $asctime($file($1-).mtime,dd/mm/yy hh:ss))
msg =$nick %a repertoires trouvés
msg =$nick %b fichiers trouvés
ftpaline dir 1 par 4 $nick
}
else msg =$nick utiliser ftpauth
}
;##.ftphelp##
elseif ($1 == .ftphelp) {
ftphelp
}
;##.ftpadminhelp##
elseif ($1 == .adminhelp) {
ftpahelp
}
if ($dialog(ftpconfig)) ftploginlist
ftpviewerlist
}
}
;##########ALIAS##########
;##retourne une variable##
alias mircftp {
if ($1 == del) remini mircftp/login.ini $2-
elseif ($1 == option) {
if (!$3) return $readini mircftp/option.ini option $2
else writeini -n mircftp/option.ini option $2-
}
else {
if (!$3) return $readini mircftp/login.ini $1 $2
else writeini -n mircftp/login.ini $1 $2 $3-
}
}
;##retourn un nick##
alias ftpnick {
return $readini mircftp/nick.ini anick $1
}
;##convertie en uniter d'octet##
alias octet {
var %a = $1
if (%a < 1024) return %a o
else var %a = $round($calc(%a / 1024),2)
if (%a < 1024) return %a Ko
else var %a = $round($calc(%a / 1024),2)
if (%a < 1024) return %a Mo
else var %a = $round($calc(%a / 1024),2)
if (%a < 1024) return %a Go
else var %a = $round($calc(%a / 1024),2)
if (%a < 1024) return %a To
else var %a = $round($calc(%a / 1024),2)
}
;##user help##
alias ftphelp {
msg =$nick 7 FTP user help 4 (en DCC chat)
msg =$nick 12 .cd <repertoire> : vous place dans le repertoire
msg =$nick 12 .cd .. : retourne dans le repertoire parent
msg =$nick 12 .get <fichier> : vous envoie le fichier
msg =$nick 12 .delete <fichier> : suprime le fichier
msg =$nick 12 .cut <fichier> : couper un fichier
msg =$nick 12 .copy <fichier> : copier un fichier
msg =$nick 12 .paste : coller un fichier que vous avez couper/copier dans le repertoire courant
msg =$nick 12 .dir : liste tous les repertoires et fichiers dans le repertoire courant
msg =$nick 12 .ftphelp : vous donne cette aide
msg =$nick 12 .ftpadminhelp : vous donne l'aide admin
msg =$nick 12 pour m'envoyer un fichier si vous avez le flag w, faite moi un DCC send
}
;##admin help##
alias ftpahelp {
msg =$nick 7 FTP admin help 4 (en DCC chat)
msg =$nick 12 .access : voir toi les access
msg =$nick 12 .addlogin <login> <pass> +rwd <repertoire> : ajoute un login
msg =$nick 12 - les droit : r : lire, w : ecrire, d : suprimer
msg =$nick 12 .dellogin <login> : suprime un login
msg =$nick 12 .newpass <login> <new_pass> : change un pass user
msg =$nick 12 .newlogin <login> <new_login> : change un login user
msg =$nick 12 .newaccess <login> +rwd : change un access user
msg =$nick 12 .newdirectory <login> <repertoire> : change un repertoire user
}
;##start ftp##
alias ftpstart {
remove mircftp/nick.ini
if (!$exists(mircftp)) mkdir mircftp
if (!$exists(mircftp/cut)) mkdir mircftp/cut
if (!$exists(mircftp/deleted)) mkdir mircftp/deleted
if ($version < 6) { echo -a 4 ERREUR 1 version de mirc $version trop veille, vous devez en avoir une superieur a 6.01 | halt }
window -adg0 $+ $iif($mircftp(option,viewer) == on,l30) +lst @mIRC-FTP -1 -1 600 300
localinfo -u
creq +m auto
; sreq +m auto
pdcc off
dcc ignore off
if (*.*.*.* !iswm $ip) {
ftpaline 4 ERREUR 1 host local non resolu
ftpaline mIRC-FTP doit se fermer
close -@ @mIRC-FTP
halt
}
var %a = 1
while (%a <= $ini(mircftp/login.ini,0)) {
var %b = $ini(mircftp/login.ini,%a)
if ($mircftp(%b,login)) $mircftp(%b,auth,no)
inc %a 1
}
ftpaline 2 ----------------------------------------------------------------------
ftpaline mIRC-FTP lancer
ftpaline votre host : 4 $host
ftpaline votre IP : 7 $ip
ftpaline 2 ----------------------------------------------------------------------
var %a = $finddir(mircftp/deleted,*,0,0,ftpaline $gettok($1-,$numtok($1-,92),92))
ftpaline %a fichiers suprimer
var %b = $findfile(mircftp/cut,*,0,0,ftpaline $gettok($1-,$numtok($1-,92),92))
ftpaline %b fichiers couper, veilliez a verifier
if ($mircftp(option,viewer) == on) ftpviewerlist
}
;##actions loging##
alias ftpaline {
if ($mircftp(option,log) == on) write mircftp/log.txt $date $+ - $+ $time $1-
if ($window(@mIRC-FTP)) aline @mIRC-FTP $1-
}
;##liste tout les login dans le dialog##
alias ftploginlist {
if ($dialog(ftpconfig)) {
var %a = 1
did -r ftpconfig 12
while (%a <= $ini(mircftp/login.ini,0)) {
var %b = $ini(mircftp/login.ini,%a)
if ($mircftp(%b,login)) did -za ftpconfig 12 $mircftp(%b,login) : $mircftp(%b,access) ( $mircftp(%b,directory) )
inc %a 1
}
}
}
;##liste les auther dans le viewer##
alias ftpviewerlist {
if ($mircftp(option,viewer) == on) {
dline -l @mIRC-FTP 1-
var %a = 1
while (%a <= $ini(mircftp/login.ini,0)) {
var %b = $ini(mircftp/login.ini,%a)
if ($mircftp(%b,auth) == ok) {
aline -l @mIRC-FTP $mircftp(%b,login) ( $+ $readini mircftp/nick.ini nick %b $+ ) : $mircftp(%b,access)
aline -l @mIRC-FTP - $mircftp(%b,curent)
aline -l @mIRC-FTP - Send : $mircftp(%b,send) , Recive : $mircftp(%b,recive)
aline -l @mIRC-FTP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
}
inc %a 1
}
}
}
;##########DIVERS##########
;##a l'ouverture d'un dcc chat##
on *:open:=: {
if ($window(@mIRC-FTP)) {
$mircftp($ftpnick($nick),seen,$date $time)
$mircftp($ftpnick($nick),auth,ok)
$mircftp(del,$ftpnick($nick),recive)
$mircftp(del,$ftpnick($nick),send)
ftpaline access autoriser pour 4 $nick
msg =$nick 12 bienvenu dans le 7 mIRC-FTP 12 de 4 $me 12 cree par 8,1 aerith
msg =$nick 2 ----------------------------------------------------------------------
ftphelp
if (a isin $mircftp($ftpnick($nick),access)) {
msg =$nick 2 ----------------------------------------------------------------------
ftpahelp
}
msg =$nick 2 ----------------------------------------------------------------------
$mircftp($ftpnick($nick),curent,$mircftp($ftpnick($nick),directory))
msg =$nick courant: 12 $mircftp($ftpnick($nick),directory)
ftpaline cd 14 $mircftp($ftpnick($nick),directory) 1 par 4 $nick
ftpviewerlist
}
}
;##a la fermeture d'un dcc chat##
on *:close:=: {
if ($window(@mIRC-FTP)) {
$mircftp($ftpnick($nick),auth,no)
ftpaline quit 14 $ftpnick($nick) 1 par 4 $nick
ftpviewerlist
}
}
;##auto run##
on *:connect: {
if ($mircftp(option,autorun) == on) timer 1 60 ftpstart
}
;##send ok##
on *:filesent:*: {
if ($window(@mIRC-FTP)) {
msg =$nick $filename 4 envoyer
$mircftp(del,$ftpnick($nick),send)
ftpaline sended 14 $filename 1 pour 4 $nick
}
}
;##recive ok##
on *:filecvd:*: {
if ($window(@mIRC-FTP)) {
msg =$nick $filename 4 recue
rename $filename $mircftp($ftpnick($nick),recive)
msg =$nick $filename deplacer pour $mircftp($ftpnick($nick),recive)
$mircftp(del,$ftpnick($nick),recive)
ftpaline recived 14 $filename 1 par 4 $nick
}
}
;##send fail##
on *:sendfail:*: {
if ($window(@mIRC-FTP)) {
msg =$nick $filename 4 erreur d'envoie
$mircftp(del,$ftpnick($nick),send)
ftpaline sendfail 14 $filename 1 par 4 $nick
}
}
;##recive fail##
on *:getfail:*: {
if ($window(@mIRC-FTP)) {
msg =$nick $filename 4 erreur de reception
$mircftp(del,$ftpnick($nick),recive)
ftpaline recivefail 14 $filename 1 pour 4 $nick
}
}
;##dcc request##
ctcp ^*:dcc send *:*: {
if ($window(@mIRC-FTP)) {
if (w isin $mircftp($ftpnick($nick),access)) {
if ($mircftp($ftpnick($nick),auth) == ok) {
dcc get mircftp/temp
dccallow + $+ $nick
$mircftp($ftpnick($nick),recive,$mircftp($ftpnick($nick),curent))
msg =$nick fichier autoriser
ftpaline sending 14 $mircftp($ftpnick($nick),recive) 1 par 4 $nick
}
else msg =$nick utiliser ftpauth
}
else msg =$nick non autoriser a envoyer se fichier, un droit d'ecriture est necessaire
}
}
;##stop le ftp si la fenetre est fermer##
on *:close:@mIRC-FTP: {
var %a = 1
while (%a <= $ini(mircftp/login.ini,0)) {
var %b = $ini(mircftp/login.ini,%a)
if ($mircftp(%b,login)) {
$mircftp(%b,auth,no)
$mircftp(del,%b,curent)
$mircftp(del,%b,recive)
$mircftp(del,%b,send)
$mircftp(del,%b,copy)
}
inc %a 1
}
creq -m ask
sreq -m ask
echo -a On Send request : Show get dialog, On Chat request : Show get dialog
ftpaline stop
}
;##enregistre anick##
on *:nick: {
var %nick = $ftpnick($nick)
if (%nick) {
writeini -n mircftp/nick.ini nick %nick $newnick
remini mircftp/nick.ini anick $nick
writeini -n mircftp/nick.ini anick $newnick %nick
ftpviewerlist
ftpaline nick 4 $nick 1 changer en 7 $newnick 1( $+ 14 %nick 1 $+ )
}
}
Conclusion :
Votre DCC chat et send doit fonctionner
Pour une utilisation partiel ou complette dans un script conacter moi
Ne jamais activer d'away si le ftp tourne ca va bien flooder sinon
#installation#
1) loader l'addon sur un script
2) il vous sufit ensuite de lancer le ftp soit via la console "run mirc-ftp"de configuration
ou depuis les menu channel et menubarre
normalement le ftp configure seul votre dcc
#cree un access#
depuis la console
completer correctement les cases
puis un clik sur ajouter
-> vous pouvez cree que ici les access admin
depuis le dcc chat
.addlogin <login> <pass> +rwd <repertoire> : ajoute un login
les droit : r : lire, w : ecrire, d : suprimer
#pour se connecter aux ftp#
les user doivent utiliser /msg <nick> ftpauth <login> <pass>
toutes les commandes son ensuite donner dans l'aide
elle ressemble a celle sous DOS