Systeme de partage de fichier simple

0/5 (2 avis)

Snippet vu 9 380 fois - Téléchargée 26 fois

Contenu du snippet

Voici un petit systeme de partage de fichier extremement simple utilisant dcc
Je suis debutant en irc alors soyer gentil dans vos commentaires ;)

Les commandes sont les suivantes:
!search :Lister les fichier
!search xxx :Rechercher xxx
!file xxx :Downloader xxx
!aide :Afficher les commandes

Vous pouver taper !search dans la fenetre du channel mais pour downloder il faut etre en pv avec le user .Pour effectuer une recherche juste sur un user , envoyer la commande !search en pv

Vous pouver activer/desactiver le script.

Source / Exemple :


copier/coller ce code dans remote ::

if %active == $null {
  set %active 1 
}

menu * {
  Activer le partage de fichier:set %active 1
  Desactiver le partage de fichier:set %active 0
}

on *:TEXT:!aide:*:{

  privmsg $nick 10 $+ Tapez !search pour afficher la liste des fichier disponible
  privmsg $nick 10 $+ Tapez !search 12 $+ <requete> 10 $+  pour effectuer une recherche
  privmsg $nick 10 $+ Tapez !file 12 $+ <fichier> 10 $+  pour telecharger le fichier
  close -cm $nick
}

on *:TEXT:!search*:*:{ 
  if %active != 0 {
    ;changer cette ligne pour verifier le rep
    set %dir c:\mp3    set %filter *
    set %inc 1
    set %noti 0
    set %total 0
    set %tmp $findfile(%dir,*. $+ %filter,%inc,2)
    while (%tmp != $null) {
      if ( %tmp != $null ) {
        if ( $2 isin %tmp) {
          if (%noti == 0 )             privmsg $nick  12--------------------------------------------------
          if (%noti == 0 )             privmsg $nick  12Recherche pour $2
          if (%noti == 0 )             unset %noti
          if (%noti == 0 )             set %noti 2
          privmsg $nick 12 $+ %inc : 10 $+ $remove(%tmp,%dir)
          inc %total
        }

        if ($2 == $null) {
          if (%noti == 0 )             privmsg $nick  12--------------------------------------------------
          if (%noti == 0 )             privmsg $nick  12Recherche pour $2
          if (%noti == 0 )             unset %noti
          if (%noti == 0 )             set %noti 2
          privmsg $nick 12 $+ %inc : 10 $+ $remove(%tmp,%dir)
          inc %total
        }

      }
      unset %tmp
      set %tmp $findfile(%dir,*. $+ %filter,%inc,2)  
      inc %inc
    }
    if ( %total > 1 ) privmsg $nick  12T10otal : 4 $+ %total fichiers
    if ( %total == 1 ) privmsg $nick  12T10otal : 4 $+ %total fichier
    unset %inc
  }
close -cm $nick
}

on *:TEXT:!file*:*:{
  if %active != 0 {
    set %tm %dir $+ $2
    dcc send $nick %tm
    close -cm $nick
  }
}

A voir également

Ajouter un commentaire

Commentaires

cs_SornDrixer
Messages postés
2087
Date d'inscription
jeudi 12 décembre 2002
Statut
Modérateur
Dernière intervention
30 janvier 2011
2 -
Au lieu de faire 3 événements TEXT, autant en faire un seul et regrouper le tout dedans.
>> privmsg, pourquoi ne pas utiliser /msg ? cela revient au même, mais drôle d'idée d'utiliser /privmsg
Evite de /set tellement de variables, ou alors, utilise /var
Tu peux même donner la valeur à plusieurs variables sur une seule ligne avec /var :
/var %a bla, %b ble, %c = blo
etc

A propos du $findfile, ta boucle est juste là pour faire ralentir mIRC.
$findfile à lui seul est une boucle, que tu peux utiliser comme ceci pour améliorer ton code :
set %tmp $findfile(%dir,*. $+ %filter,msg $nick Résultat : $1-)
Tout les résultats trouvés par $findfile seront directement envoyés à $nick

Voila, c'est un bon début, mais faut essayer de complèter ça, c'est bien trop léger.
Pourquoi ne pas faire un dialog pour configurer le tout, pour par exemple, n'autoriser que quelques personnes à utiliser ces commandes, limiter la zone de partages des fichiers, etc
cs_PaDa
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
1 -
cui la j'aime pas trop .
l'idée est un peu plus originale qu'un répondeur certes mais :
-idem que l'autre le menu qd t'as trois addons tu fais comment pour te retrouver ?
-si tu sais faire un findfile , fais ptet un $sdir qq part paske perso je n'ai pas de répertoire c:\mp3 et du coup ton addon ne fait rien ...
-je pige absolument pas le début :
if %active == $null {
set %active 1
}
non seulement c pas super utile mais c inclus dans rien je pige pas
enfin voila revois un peu et préviens qd t'auras updaté ;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.