Outils linguistique (dictionnaire, traducteur, synonymes, sigles, anagrammes, google)

Description

Cet Add-On présente une multitude d'aliases qui concernent la langue française ainsi que d'autres langues européennes.
Il possède :

1. Un dictionnaire (/dico <expression>) - exemple : /dico irc
2. Un dictionnaire des synonymes (/synonymes <mot>) - exemple : /synonymes informaticien
3. Un dictionnaire des anagrammes (/anagrammes <mot>) - exemple : /anagrammes scripting
4. Un dictionnaire des sigles (/sigles <sigle>)
5. Un traducteur (/translate lang1>lang1 <phrase/mot>) - exemple : /translate en>fr Hello everybody. Langages disponibles : Anglais Allemand Français Espagnol Italien Portugais
6. Un outil Google :
6.1 Recherche simple avec affichage des résultats et suggestion si suggestion il y a (/google <expression>) - exemple : /google orthograf
6.2 Recherche avec la suggestion (/google? <expression>) - exemple : /google? orthograf (qui va en fait rechercher orthographe)
6.3 Affichage de la suggestion (/ortho <expression>) - exemple : /ortho orthograf (va afficher orthographe)
6.4 GoogleFight : comparaison du nombre de résultats entre deux expressions (/googlefight <expression 1> vs <expression 2>) - exemple : /googlefight microsoft vs apple

Le but est de faciliter l'accès aux informations, et pourquoi pas d'améliorer le niveau de votre langue :)
Il utilise principalement des sockets pour récupérer les infos et des binvars pour les faire stocker. La plupart sont affichées ensuite dans une /window possédant un editbox, et rendant encore plus rapide la saisie de nouveaux paramètres.

Tapez help sur l'une de ces fenêtres pour avoir de l'aide.

Source / Exemple :


;********************
;Outils linguistiques
;     By ArKanis
;   www.arkanis.eu
;********************
;v 1.3
alias translate {
  if (!$1-) {
    window -aez @Translate
    echo 2 -t @Translate * Tapez help pour obtenir de l'aide
    return
  }
  if ($regex($1,/^([a-z]{2})>([a-z]{2})/i)) {
    var %a = $regml(1), %b = $regml(2)
    if (!$istok(en.de.fr.es.it.pt,%a,46)) var %a = fr
    if (!$istok(en.de.fr.es.it.pt,%b,46)) var %b = en
    tokenize 32 $2-
  }
  else var %a = fr, %b = en
  if (%a == %b) return
  if (!$istok(en>fr en>de en>it en>pt en>es fr>en fr>de de>en de>fr it>en pt>en es>en,$+(%a,>,%b),32)) {
    var %b = $+(en>,%b)
    echo 2 -at * Le passage de %a à %b n'existe pas. Il faut passer par l'anglais. Le résultat n'est pas garanti
  }
  var %s = $+($iif(!$show,.),Translate.,$ticks,.,$r(a,z))
  write -c Translate.txt
  sockclose %s
  sockopen %s www.translate.google.com 80
  sockmark %s %a %b $1-
}
on *:sockopen:*Translate.*:{
  if ($sockerr) return
  tokenize 32 $$sock($sockname).mark
  sockwrite -n $sockname GET $+(www.translate.google.com/translate_t?langpair=,$1,$chr(124),$gettok($2,1,62),&text=,$link.chg($3-)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.translate.google.com,$str($crlf,2))
}
alias -l translate.read {
  var %ticks = $ticks, %y = de la traduction de $+(,$2,) en $+(,$3,) de $+(,$4-,)
  window -aez @Translate
  if ($left($1,1) != .) echo 2 -t @Translate *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  echo 2 -t @Translate * $+(,$gettok(Anglais Allemand Français Espagnol Italien Portugais,$findtok(en.de.fr.es.it.pt,$gettok($3,1,62),1,46),32),)
  echo 2 -t @Translate -> $carac.chg($read(Translate.txt,1))
  echo 2 -t @Translate *
  if ($regex(A,$3,([a-z]{2})>([a-z]{2}))) .translate $+(en>,$gettok($3,2,62)) $read(Translate.txt,1)
  else echo 2 -t @Translate *********** Fin de la traduction - Affichage des données en $calc($ticks - %ticks) ms
  .remove Translate.txt
  sockclose $1
}
on *:sockread:*Translate.*:{
  sockread &a
  if ($bfind(&a,1,id=suggestion>)) {
    bcopy &b 1 &a $calc($ifmatch +14) -1
    if ($bfind(&b,1,</textarea>)) {
      bcopy &c 1 &b 1 $calc($ifmatch -1)
      bwrite Translate.txt -1 -1 &c
      translate.read $sockname $sock($sockname).mark
    }
    else {
      bwrite Translate.txt -1 -1 &b
      sockmark $sockname 1 $sock($sockname).mark
    }
  }
  elseif ($gettok($sock($sockname).mark,1,32) == 1) {
    if ($bfind(&a,1,</textarea>)) {
      bcopy &b 1 &a 1 $calc($ifmatch -1)
      bwrite Translate.txt -1 -1 &c
      translate.read $sockname $sock($sockname).mark
    }
  }
}
alias ortho $google?($1-)
alias google .google? $1-
alias googleuk url -n $+(www.google.co.uk/search?hl=en&q=,$link.chg($1-))
alias google! url -n $+(www.google.fr/search?q=,$link.chg($1-))
alias google? {
  if (!$1-) {
    if ($hget(Google,Ortho)) google! $hget(Google,Ortho)
    else {
      echo 2 -at * Commandes Google
      echo 2 -at * /google? <expression> - Ouvre l'explorateur Google en utilisant l'expression conseillée par Google (en cas de faute d'orthographe par exemple)
      echo 2 -at * /google <expression> - Ouvre l'explorateur Google et indique au passage si une expression différente est conseillée par Google.
      echo 2 -at * /ortho <expression> - Affiche uniquement si une expression est conseillée par Google.
    }
    if ($hget(Google)) hfree Google
    return
  }
  if ($hget(Google)) hfree Google
  var %s = §
  if (!$show) {
    var %s = .
    google! $1-
  }
  elseif ($isid) var %s = :
  var %s = $+(%s,Ortho.,$ticks,.,$r(a,z))
  hadd -m Google Last $1-
  sockclose %s
  sockopen %s google.fr 80
  sockmark %s $1-
}
on *:sockopen:?Ortho.*:{
  if ($sockerr) return
  google.ch $sockname $sock($sockname).mark
}
on *:sockread:?Ortho.*:{
  sockread &a
  if ($bfind(&a,1,sur un total d'environ <b>)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
    echo 2 -at * La recherche de $+(",$sock($sockname).mark,") a aboutit à $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32)) résultats.
  }
  if ($bfind(&a,1,Essayez avec cette orthographe)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +33) $calc($bfind(&a,$ifmatch,</a>) - $ifmatch -33)
    var %r = $carac.chg($regsubex($bvar(&b,1,$bvar(&b,0)).text,/<[^>]+>/gi,))
    echo 2 -at -> Google propose : $+(,%r,) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
    hadd -mu60 Google Ortho %r
    if (!$istok(: .,$left($sockname,1),32)) google! %r
    else echo 2 -at * Tapez /google pour effectuer la recherche en tenant compte de la suggestion
    sockclose $sockname
  }
  elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) {
    echo 2 -at * Il n'y a aucun résultat pour la recherche de de $+(",$sock($sockname).mark,") - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
    sockclose $sockname
  }
}
on *:sockclose:?Ortho.*:if ($left($sockname,1) == :) echo 2 -at * L'orthographe de $sock($sockname).mark semble correcte (google n'a pas proposé une autre possibilité) - Vérification faite en $calc($ticks - $gettok($sockname,2,46)) ms
alias googlefight {
  if (!$1-) {
    echo 2 -at * Commandes /GoogleFight : /googlefight <expression 1> vs <expression 2> - S'il n'y a que deux mots : /googlefight <mot 1> <mot 2>
    echo 2 -at * Donne le nombre de résultats pour la recherche de l'expression 1 et le compare au nombre de l'expression 2.
    return
  }
  if ($0 == 2) tokenize 32 $1 vs $2
  if (!$regex(N,$1-,/^(.+)\svs\s(.+)$/i)) return
  var %1 = $link.chg($regml(N,1)), %2 = $link.chg($regml(N,2))
  if (($hget(Fight,%1) != $null) && ($hget(Fight,%2) != $null)) {
    var %c = $hget(Fight,%1), %d = $hget(Fight,%2), %a = $remove(%c,$chr(32)), %b = $remove(%d,$chr(32))
    echo 2 -at * Fight $regml(N,1) CONTRE $regml(N,2)
    echo 2 -at -> $iif(%a < %b,%c - $+(,%d,),$+(,%c,) - %d) $+($chr(40),$disp.num($abs($calc(%a - %b))) de différence,$chr(41))
  }
  else {
    var %s = $+(Fight.,$ticks,.,$r(a,z),.,$iif($hget(Fight,%1) != $null,2,1))
    sockclose %s
    sockopen %s google.fr 80
    sockmark %s $regml(N,1) VS $regml(N,2)
  }
}
on *:sockopen:Fight.*:{
  if ($sockerr) return
  if (!$regex($sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  google.ch $sockname $regml($right($sockname,1))
}
on *:sockread:Fight.*:{
  sockread &a
  if (!$regex(S,$sock($sockname).mark,/^(.+)\svs\s(.+)$/i)) return
  var %r = $link.chg($regml(S,$right($sockname,1)))
  if ($bfind(&a,1,sur un total d'environ <b>)) {
    bunset &b
    bcopy &b 1 &a $calc($ifmatch +26) $calc($bfind(&a,$ifmatch,</b>) - $ifmatch -26)
    hadd -m Fight %r $replace($bvar(&b,1,$bvar(&b,0)).text,&nbsp;,$chr(32))
  }
  elseif ($bfind(&a,1,Aucun document ne correspond aux termes de recherche spécifiés)) hadd -m Fight %r 0
  if ($hget(Fight,%r) != $null) {
    googlefight $sock($sockname).mark
    sockclose $sockname
  }
}
alias synonymes {
  if (!$1-) {
    window -aez @Synonymes
    echo 2 -t @Synonymes * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Syn.,$ticks,.,$r(a,z))
  write -c Synonymes.txt
  sockclose %s
  sockopen %s dico.isc.cnrs.fr 80
  sockmark %s $1-
}
on *:sockopen:Syn.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/dico/fr/chercher?r=,$link.chg($sock($sockname).mark)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.dico.isc.cnrs.fr,$str($crlf,2))
}
on *:sockread:Syn.*:{
  sockread &a
  if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<br><br>))) {
    bunset &b
    bcopy &b 1 &a $ifmatch -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while ($bfind(&a,1,TYPE="CHECKBOX")) {
      var %l = $ifmatch
      bunset &c &d
      bcopy &c 1 &a 1 $calc(%l -1)
      bcopy &d 1 &a $calc(%l +34) -1
      bunset &a
      bcopy &a 1 &d 1 -1
      while $bfind(&c,1,HREF=chercher?r=) {
        bunset &e &d
        bcopy &e 1 &c 1 $calc($ifmatch -1)
        bcopy &d 1 &c $calc($ifmatch +16) -1
        bwrite Synonymes.txt -1 &e
        bunset &c
        bcopy &c 1 &d 1 -1
      }
      if ($bvar(&c,0)) bwrite Synonymes.txt -1 &c
      write Synonymes.txt $cr
    }
    while $bfind(&a,1,HREF=chercher?r=) {
      bunset &c &d
      bcopy &c 1 &a 1 $calc($ifmatch -3)
      bcopy &d 1 &a $calc($ifmatch +16) -1
      bwrite Synonymes.txt -1 &c
      bunset &a
      bcopy &a 1 &d 1 -1
    }
    if ($bvar(&a,0)) bwrite Synonymes.txt -1 &a
  }
}
on *:sockclose:Syn.*:{
  var %ticks = $ticks, %y = des synonymes de $+(,$gettok($sock($sockname).mark,2-,32),)
  window -aez @Synonymes
  echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Récupération des données en $calc($ticks - $gettok($sockname,2,46)) ms
  if ($fopen(Syn)) .fclose Syn
  .fopen Syn Synonymes.txt
  while ((!$feof) && (!$ferr) && ($fopen(Syn))) {
    var %t = 1, %r
    while ((($len(%r) <= 500) || ($left(%r,1) == $chr(44))) && (!$feof) && (!$ferr) && ($fopen(Syn))) {
      var %c = $fgetc(Syn)
      if (%c == 32) var %c = 165
      if ($istok(13 10,%c,32)) {
        var %r = $regsubex(%r,/(<[^>]+>)/g,)
        while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
        while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
        if (%r) echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
        var %r
      }
      else {
        var %r = $+(%r,$chr(%c))
        if (!$calc($len(%r) % 230)) {
          var %r = $regsubex(%r,/(<[^>]+>)/g,)
          if (Interface¥française isin %r) .fclose Syn
          if (Nouvelle¥requête isin %r) {
            echo 2 -t @Synonymes * Aucun résultat
            .fclose Syn
          }
        }
      }
    }
    if ($fopen(Syn)) {
      var %r = $regsubex(%r,/(<[^>]+>)/g,)
      while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
      while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
      echo 2 -t @Synonymes * $replace(%r,$chr(165),$chr(32))
    }
  }
  echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  if ($fopen(Syn)) .fclose Syn
  .remove Synonymes.txt
  return
  var %t = 1, %l = $lines(Synonymes.txt)
  window -aez @Synonymes
  echo 2 -t @Synonymes *********** Début %y (Classement thématique) - Traitement en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %l {
    if ($read(Synonymes.txt,%t) == <br><br>) break
    var %r = $regsubex($read(Synonymes.txt,%t),/(<[^>]+>)/g,)
    while ($regsub(%r,/^([^>]*>)/g,,%r)) noop
    while ($regsub(%r,/((<[^<]*))$/g,,%r)) noop
    if (%r) echo 2 -t @Synonymes * %r
    inc %t
  }
  echo 2 -t @Synonymes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
}
alias dico dictionnaire $1-
alias dictionnaire {
  if (!$1-) {
    window -aez @Dictionnaire
    echo 2 -t @Dictionnaire * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Dico.,$ticks,.,$r(a,z))
  write -c Dico.txt
  sockclose %s
  sockopen %s google.fr 80
  sockmark %s $1-
}
on *:sockopen:Dico.*:{
  if ($sockerr) return
  write -c Dico.txt
  sockwrite -n $sockname GET $+(www.google.fr/search?hl=fr&q=,$link.chg($+(define:,$gettok($sock($sockname).mark,1-,32)))) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.google.fr,$str($crlf,2))
}
on *:sockread:Dico.*:{
  sockread &a
  if (($gettok($sock($sockname).mark,1,32) != 1) && ($bfind(&a,1,<ul type="disc" class=std>))) {
    bunset &b
    bcopy &b 1 &a $ifmatch -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while $bfind(&a,1,<li>) {
      bunset &c &d
      bcopy &c 1 &a $calc($ifmatch +4) -1
      var %l = $calc($bfind(&a,$calc($ifmatch +4),<) - $ifmatch)
      bcopy &d 1 &a $calc($ifmatch +4) $calc(%l - 4)
      if ($bvar(&d,0)) bwrite Dico.txt -1 &d
      bunset &a
      bcopy &a 1 &c %l -1

      if ($bfind(&a,1,<font color=#008000>)) {
        bunset &e &d
        bcopy &e 1 &a $calc($ifmatch + 20) $calc($bfind(&a,$calc($ifmatch +20),<) - $ifmatch - 20)
        bcopy &d 1 &a $calc($bfind(&a,$ifmatch,<) +1) -1
        bunset &a
        bcopy &a 1 &d 1 -1
        write Dico.txt $+(http://,$bvar(&e,1,800).text)
      }
      write Dico.txt $crlf
    }
  }
}
on *:sockclose:Dico.*:{
  var %t = 1, %m = $lines(Dico.txt), %o, %y = de la définition de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  window -aez @Dictionnaire
  echo 2 -t @Dictionnaire *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %m {
    var %r = $regsubex($read(Dico.txt,%t),/(<([^>]+)>)/g,$gettok(¥ $chr(167),$findtok(br /ul,\2,1,32),32)), %r = $regsubex(%r,/(&#([0-9]{2});)/g,$chr(\2))/g,$chr(32))
    if ($chr(167) isin %r) var %r = $gettok(%r,1,167), %t = %m
    var %r = $replace($carac.chg(%r),<br>,¥), %r = $regsubex(%r,/(&[a-z];)/g,), %i = 1, %k = $numtok(%r,165)
    if (!%k) var %k = 1
    while %i <= %k {
      var %g = $gettok(%r,%i,165))
      if (%g == Conseils de recherche) break
      else echo 2 -t @Dictionnaire * $regsubex(%g,/&#([0-9]+);/g,$chr(\1))
      inc %i
    }
    inc %t
  }
  if (%m <= 1) echo 2 -t @Dictionnaire * Aucun résultat
  else echo 2 -t @Dictionnaire *
  echo 2 -t @Dictionnaire *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  .remove Dico.txt
}
alias anagrammes {
  if (!$1-) {
    window -aez @Anagrammes
    echo 2 -t @Anagrammes * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Ana.,$ticks,.,$r(a,z))
  write -c Anagrammes.txt
  sockclose %s
  sockopen %s www.sensagent.com 80
  sockmark %s $1-
}
on *:sockopen:Ana.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/fr/dictionnaire-anagrammes/recherche-anagrammes.jsp?tl=fr&dl=fr&w=,$link.chg($sock($sockname).mark))
  sockwrite -n $sockname Host: $+(www.sensagent.com,$str($crlf,2))
}
on *:sockread:Ana.*:{
  sockread &a
  if ($bfind(&a,1,anagdata)) {
    bcopy &b 1 &a $calc($ifmatch +10) -1
    bunset &a
    bcopy &a 1 &b 1 -1
    sockmark $sockname 1 $sock($sockname).mark
  }
  if ($gettok($sock($sockname).mark,1,32) == 1) {
    while $bfind(&a,1,&nbsp;) {
      bcopy &c 1 &a 1 $calc($ifmatch -1)
      bunset &d
      bcopy -z &d 1 &a $calc($ifmatch +6) -1
      bunset &a
      bcopy -z &a 1 &d 1 -1
      if ($bvar(&c,0)) bwrite Anagrammes.txt -1 &c
      bunset &c
      write Anagrammes.txt $lf
    }
    bwrite Anagrammes.txt -1 &a
  }
}
on *:sockclose:Ana.*:{
  var %t = 1, %m = $lines(Anagrammes.txt), %o, %y = des anagrammes de $+(,$gettok($sock($sockname).mark,2-,32),), %ticks = $ticks
  window -aez @Anagrammes 
  echo 2 -t @Anagrammes *********** Début %y - Récupération des infos en $calc($ticks - $gettok($sockname,2,46)) ms
  while %t <= %m {
    var %r = $regsubex($read(Anagrammes.txt,%t),/(<([^>]+)>)/g,$iif(\2 == /p,¥)), %i = 1, %k = $numtok(%r,165)
    while %i <= %k {
      var %g = $carac.chg($remove($gettok(%r,%i,165),&#x2022;))
      if (%g == mode d'emploi) var %t = %m
      else echo 2 -t @Anagrammes * %g
      inc %i
    }
    inc %t
  }
  echo 2 -t @Anagrammes *********** Fin %y - Affichage en $calc($ticks - %ticks) ms
  .remove Anagrammes.txt
}
alias sigles {
  if (!$1-) {
    window -aez @Sigles
    echo 2 -t @Sigles * Tapez help pour obtenir de l'aide
    return
  }
  var %s = $+(Sigles.,$ticks,.,$r(a,z))
  write -c Sigles.txt
  sockclose %s
  sockopen %s sigles.net 80
  sockmark %s $1-
}
on *:sockopen:Sigles.*:{
  if ($sockerr) return
  sockwrite -n $sockname GET $+(/recherche/resultats?t=s&q=,$link.chg($sock($sockname).mark)) HTTP/1.0
  sockwrite -n $sockname Host: $+(www.sigles.net,$str($crlf,2))
}
on *:sockread:Sigles.*:{
  var %a
  sockread %a
  if ($regex(%a,<dd><a href="([^>]+)">([^<]+)</a>)) write Sigles.txt $regml(2) $regml(1)
}
on *:sockclose:Sigles.*:{
  window -aez @Sigles
  var %ticks = $ticks, %t = 1, %m = $lines(Sigles.txt), %y = de la liste des sigles de $+(,$3-,), %c = echo 2 -t @Sigles
  %c *********** Début %y - Récupération des données en $calc($ticks - $gettok($1,2,46)) ms
  while %t <= %m {
    var %r = $read(Sigles.txt,%t), %m2 = $numtok(%r,32)
    %c * $+(,$gettok(%r,$+(1-,$calc(%m2 - 1)),32),) - $+(www.sigles.net,$gettok(%r,-1,32))
    if (%t != %m) %c *
    inc %t
  }
  %c *********** Fin %y - Affichage des données en $calc($ticks - %ticks) ms
  .remove Sigles.txt
}
;*******
;Windows
;*******
on *:input:@Dictionnaire,@Synonymes,@Anagrammes,@Translate,@Sigles:{
  if ($istok(help aide,$1,32)) {
    var %c = echo 2 -t $target, %r = <mot>
    %c ??? Aide de $target ???
    if ($target == @Dictionnaire) {
      var %r = <mot/expression>
      %c Tapez /dico %r pour en avoir une ou plusieurs définitions.
    }
    elseif ($target == @Synonymes) %c Tapez /synonymes %r pour en avoir des synonymes.
    elseif ($target == @Anagrammes) %c Tapez /anagrammes %r pour en avoir des anagrammes.
    elseif ($target == @Translate) {
      var %r = langue1>langue2 <mot/phrase>
      %c Tapez /translate %r pour en avoir la traduction de la langue1 vers la langue2.
      %c Vous pouvez également taper <mot/phrase> pour traduire rapidement du français en anglais.
      %c Les langues suivantes sont disponibles : anglais (en), allemand (de), français (fr), espagnol (es), italien (it), portugais (pt)
    }
    elseif ($target == @Sigles) {
      var %r = <sigle>
      %c Tapez /sigles %r pour en avoir la forme développée.
    }
    %c Tapez %r directement sur la fenêtre $target pour aller plus vite.
    %c Autres commandes disponibles : /googlefight - /google - /google? - /ortho - /dictionnaire - /synonymes - /anagrammes - /translate - /sigles
    %c ??? Fin de l'aide ???
  }
  elseif (!$istok($chr(36) /,$left($1,1),32)) $right($target,-1) $1-
}
;**************
;Aliases utiles
;**************
alias -l disp.num {
  var %l, %m = $1
  while ($regex(%m,/([0-9]+)([0-9]{3})$/)) var %l = $instok(%l,$regml(2),1,32), %m = $regml(1)
  if (%m) var %l = $instok(%l,%m,1,32)
  return %l
}
alias -l link.chg return $regsubex($$1-,/([^a-z])/gi,$+($chr(37),$base($asc(\t),10,16)))
alias -l google.ch {
  if (!$sock($1)) return
  sockwrite -n $1 GET $+(www.google.fr/search?q=,$link.chg($2-)) HTTP/1.0
  sockwrite -n $1 Host: $+(www.google.fr,$str($crlf,2))
}

alias -l carac.chg return $regsubex($replace($1-,&amp;,&,<,<,>,>,&quot;,",&nbsp;,$chr(32),©,$chr(169),$chr(160),$chr(32),ç,ç,Ã,à,Ã&#168;,è,à&#168;,è,à¹,ù,à©,é,à¢,â,à»,ù),/&#([0-9A-Fx]+);/Ug,$chr($iif($left(\t,1) == x,$base($right(\t,-1),16,10),\t)))
;End Of File

Conclusion :


Veuillez avoir une version de mIRC récente (à partir de 6.17), la 6.21 au minimum étant conseillée, afin que le code fonctionne correctement.
Merci à Jordane et à Panthouffle pour leur test et leurs avis

J'espère avoir un peu plus de commentaires que d'habitude ... :(

Ca faisait longtemps que mes sources sur ircfr étaient des PicWins, ça change un peu :D

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.