XDCC Autoresume/Autoqueue Stealth Script — File Browser

XDCCAutoresumeAutoqueueStealthScriptv4.2.0 / XDCCAutoresumeAutoqueueStealthScriptv4.2.0 / DCCServ.mrc

DCCServ.mrc — 3.37 KB — Download this file

; %uploadqfile uploadqueue.apf
; %uploadfilequeuedialogdir $xdccdir
; %uploaddirqueuedialogdir $xdccdir
; Use No such nick/channel
;-------------------------------------------------------------------------
alias uploadqfile { return $preventdoubleslash($xdccdir $+ \ $+ $replxdccfile(%uploadqfile)) }
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
; $1 nick 
; $2 network
; $3 file
;-------------------------------------------------------------------------
alias upLoadQueueUp { write -a $uploadqfile $2 $1 $3 }
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
; $1 network
; $2 nick 
;-------------------------------------------------------------------------
alias upLoadDirQueueDialog {
  var %tmpuploaddirqueuedialogdir = $sdir(%uploaddirqueuedialogdir,Select directory to upload)
  if (%tmpuploaddirqueuedialogdir != $null) { set %uploaddirqueuedialogdir %tmpuploaddirqueuedialogdir }
  var %i 1
  while (%i <= $findfile(%uploaddirqueuedialogdir,*,0)) {
    /write -a $uploadqfile $2 $1 $findfile(%uploaddirqueuedialogdir,*,%i)
    inc %i
  }
}
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
; $1 network
; $2 nick 
;-------------------------------------------------------------------------
alias upLoadFileQueueDialog {
  var %filenum = $msfile(%uploadfilequeuedialogdir,Select files to upload,Add to queue)
  var %i 1
  while (%i <= %filenum) {
    /write -a $uploadqfile $2 $1 $msfile(%i)
    inc %i
  }
  if (%filenum != $null) { set %uploadfilequeuedialogdir $nofile($msfile(%filenum)) }
}
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
alias startUploadQueue {
  var %j 0
  var %con $null
  while (%con == $null && %j < 1000) {
    if ($scon(%j).network == $gettok($read($uploadqfile,nt,1),1,32)) { set %con %j }
    inc %j
  }
  dcc send -cl $+ %sendlimit $gettok($read($uploadqfile,nt,1),1,32) $gettok($read($uploadqfile,nt,1),3-,32)
}
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
#groupuploadautoq on
on *:FILESENT:*:{
  //write -dw" $+ $nick $network $filename $+ " $uploadqfile
  if ($exists($uploadqfile) && $gettok($read($uploadqfile,nt,1),1,32) != $null) { //dcc send -cl $+ %sendlimit $gettok($read($uploadqfile,nt,1),1,32) $gettok($read($uploadqfile,nt,1),3-,32) }
}
#groupuploadautoq end
;-------------------------------------------------------------------------

;-------------------------------------------------------------------------
Menu channel,nicklist,query {
  -
  Stealth DCCServ:
  .Queue files for $1:/upLoadFileQueueDialog $network $1
  .Queue directory for $1:/upLoadDirQueueDialog $network $1
  .-
  .Start processing upload queue:/startUploadQueue 
  .DCC Serv Autoqueue $iif($group(#groupuploadautoq) == on,Off,On):{
    if ($group(#groupuploadautoq) == on) { /disable #groupuploadautoq }
    else { /enable #groupuploadautoq }
  }
}
;-------------------------------------------------------------------------