Url logger

Description

Cet addon enregistre les différents urls (adresses web) qui seront citées sur les canaux que vous fréquentez.
Les urls sont stockées dans un dialog contenant plusieurs options ainsi que des informations sur l'url annoncée.
Un double clic sur une adresse l'ouvrira dans votre navigateur web.

Source / Exemple :


; _______________________________________
; URL Logger
; Code par MegaMax & Tataouine
; Version 4.00
; _______________________________________
on *:load:{
  echo -a -----------------------------------------------------------
  echo -a  Vous avez correctement chargé URL Logger Version 4.0
  echo -a  Merci d'utiliser cet addon :)
  echo -a -----------------------------------------------------------
}
dialog url {
  title "URL Logger"
  size -1 -1 260 195
  option dbu
  list 1, 5 7 250 125, size vsbar
  button "Effacer", 3, 8 178 37 12, flat
  button "Ajouter", 4, 215 159 37 12, flat
  button "Dire", 5, 145 178 37 12, flat
  button "Fermer", 6, 215 178 37 12, flat
  button "Reset", 7, 75 178 37 12, flat
  edit "", 8, 20 161 185 10, autohs
  box "", 9, 2 0 256 193
  box "Ajout manuel", 10, 5 152 250 22, disable
  box "Url annoncée", 11, 5 133 250 18, disable
  text "Url :", 12, 9 162 10 8
  text "Sur :", 13, 9 141 12 8
  text "", 14, 23 141 53 8
  text "Par :", 15, 80 141 12 8
  text "", 16, 95 141 62 8
  text "Le :", 17, 160 141 12 8
  text "", 18, 172 141 36 8
  text "A :", 19, 210 141 10 8
  text "", 20, 220 141 32 8
}
on *:dialog:url:*:*:{
  if ($devent == init) {
    if ($exists(url.txt)) {
      if ($fopen(zurl)) .fseek zurl 0
      else .fopen zurl url.txt
      var %n = 1
      while (!$feof) {
        did -o url 1 %n $gettok($fread(zurl),1,32)
        inc %n
      }
      .fclose zurl
    }
  }
  elseif $devent == sclick {
    if $did == 4 {
      write -il1 url.txt $strip($did(8)) AjoutManuel $me $date $time
      did -r url 8
      if ($fopen(zurl)) .fseek zurl 0
      else .fopen zurl url.txt
      var %n = 1
      while (!$feof) {
        did -o url 1 %n $gettok($fread(zurl),1,32)
        inc %n
      }
      .fclose zurl
    }
    elseif $did == 6 {
      dialog -x url url
    }
    elseif $did == 5 { 
      if ($did(1).seltext) { 
        scid $activeid
        msg $active $did(1).seltext
      } 
    }
    elseif $did == 3 {
      if ($did(1).seltext) {
        scid $activecid
        write -dl $+ $did(1).sel url.txt
        did -r url 1
      }
      if ($fopen(zurl)) .fseek zurl 0
      else .fopen zurl url.txt
      var %n = 1
      while (!$feof) {
        did -o url 1 %n $gettok($fread(zurl),1,32)
        inc %n
      }
      .fclose zurl
    }
    elseif $did == 1 {
      if ($did(1).seltext) {
        var %info = $read(url.txt,s,$v1)
        did -a $dname 14 $gettok(%info,1,32)
        did -a $dname 16 $gettok(%info,2,32)
        did -a $dname 18 $gettok(%info,3,32)
        did -a $dname 20 $gettok(%info,4,32)
      }
    }
    elseif ($did == 7) {
      var %input $input(Etes vous sur de vouloir tout supprimer ?,y,URL Logger - Reset)
      if %input {
        write -c url.txt
        loadbuf -ro url 1 url.txt
      }
    }
  }
  elseif ($devent == dclick) url $gettok($did(1).seltext,1,32)
}
menu Channel,menubar {
  URL Logger:/dialog -m url url
}
on $*:TEXT:/(www.|http)/:*:{
  var %url = /((?:http://|(?<!w)www\.)[-a-z_0-9]+\.(?:[^\x20\(\)\[\]\{\}\,\;\!\§\ù\µ\$\£\¤\°\ç\à\è`\è\`]+))/ig
  if ($regex($strip($1-),%url)) {
    var %reg = $regml(0)
    while (%reg > 0) {
      if (!$read(url.txt,w,$regml(%reg) *)) {
        write -il1 url.txt $regml(%reg) $chan $nick $date $time
      }
      dec %reg
    }
    if ($dialog(url)) {
      if ($fopen(zurl)) .fseek zurl 0
      else .fopen zurl url.txt
      var %n = 1
      while (!$feof) {
        did -o url 1 %n $gettok($fread(zurl),1,32)
        inc %n
      }
      .fclose zurl
    }
  }
}
alias logger { dialog -m url url }

Codes Sources

A voir également

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.

Du même auteur (MegaSmax)