Un bot meteorologue! (mise à jour importante! )

Description

Ce script va chercher la meteo sur un site internet.
il est specialement optimisé pour la belgique, puisque il reonnait TOUTES les communes belges (normalement il n'en manque pas une ;) )

PS: Une mise a jour importante viens d'etre faites:

En effet le script a du etre quasiment completement refait puisque le site d'ou les informations étaient récupérées à changé complètement.
Des lors, dorénavant les prévisions avec 5 jours d'avances ne sont plus de mise par contre les prévisions sur la journée sont plus précises et plus fiable.

Source / Exemple :


ON *:TEXT:*!meteo*:#:{
  UNSET %meteoville
  UNSET %meteoRead
  UNSET %MeteoRead1
  UNSET %MeteoReadLune
  IF (!meteo == $1) { SET %meteoville $2 }
  ELSEIF (!meteo == $2) { SET %meteoville $3 }
  SET %Meteochan $chan
  SET %MeteoRead1
  SET %MeteoReadLune
  SOCKCLOSE meteo
  SOCKCLOSE meteoA
  SOCKOPEN meteo www.meteo-consult.fr 80
}

ON *:SOCKOPEN:meteo:{
  SOCKWRITE -n meteo GET /ter/monde/prevision/moteur.php?langue=fr&saisie= $+ %meteoville
}
ON *:SOCKREAD:meteo:{
  SOCKREAD %meteoRead
  echo %meteoread
  IF (tresgros-gras ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<td width=60%><font class=tresgros-gras>&nbsp;, <tr class=tresgros-grasitalic-jaune>,</font></td><td width=40% align=right>,<font class=tresgros-gras>,&nbsp;,</font>,</td>, </tr>)
    MSG %MeteoChan  %meteoRead
  }
  IF (assezgros-gras-bleu ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<font class=assezgros-gras-bleu>,</font>)
    MSG %MeteoChan Etat général: %meteoRead
    MSG %MeteoChan 
  }
  IF (lune</font> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<font class=assezpetit-bleu>,</font>)
    %meteoReadLune = %MeteoRead
  }
  IF (</span></font></td> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,</span></font></td>,<BR>)
    %meteoRead1 =  $+ %meteoRead $+ :
  }
  IF (°C ISIN %meteoRead) {
    IF (RESSENTIE ISIN %meteoRead) %meteoRead = </font>
    %meteoRead = $remove(%meteoRead,<font class=gros-gras-bleu>,</font>)
    %meteoRead = $replace(%meteoRead,°C,°C)
    MSG %MeteoChan %MeteoRead1 %meteoRead
    %meteoread = $null
    %meteoread1 = $null
  }
  IF (<p align=justify> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<p align=justify>,<BR>)
    %meteoRead1 = %meteoRead
  }
  IF (.</p> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,</p>)
    MSG %MeteoChan %MeteoRead1 %meteoRead
  }
  IF (référencée ISIN %meteoRead) {
    MSG %MeteoChan La ville ou commune que vous cherchez n'as pas été trouvée. Je vérifie quelle ville la plus proche peut-être trouvée. :)
    var %MeteoCommune
    var %i = 0
    var %MeteoComOk = 0
    WHILE (%i <= 2802) {
      %meteocommune = $read(Commune.txt, %i)
      IF (%meteocommune == %meteoville) {
        IF ((%i >= 3) && (%i <= 24)) {
          %meteoville = bruxelles
          %meteoComOK = 1
        }
        IF ((%i >= 28) && (%i <= 148)) {
          %meteoville = wavre
          %MeteoComOk = 1
        }
        IF ((%i >= 152) && (%i <= 389)) {
          %meteoville = leuven
          %MeteoComOk = 1
        }
        IF ((%i >= 393) && (%i <= 548)) {
          %meteoville = anvers
          %MeteoComOk = 1
        }
        IF ((%i >= 552) && (%i <= 769)) {
          %meteoville = hasselt
          %MeteoComOk = 1
        }
        IF ((%i >= 773) && (%i <= 1142)) {
          %meteoville = liege
          %MeteoComOk = 1
        }
        IF ((%i >= 1146) && (%i <= 1520)) {
          %meteoville = namur
          %MeteoComOk = 1
        }
        IF ((%i >= 1524) && (%i <= 1992)) {
          %meteoville = mons
          %MeteoComOk = 1
        }
        IF ((%i >= 1996) && (%i <= 2236)) {
          %meteoville = arlon
          %MeteoComOk = 1
        }
        IF ((%i >= 2240) && (%i <= 2494)) {
          %meteoville = bruges
          %MeteoComOk = 1
        }
        IF ((%i >= 2498) && (%i <= 2802)) {
          %meteoville = gent
          %MeteoComOk = 1
        }
        %i = 2803
      }
      INC %i
    }
    IF (%MeteoComOk == 1) {
      MSG %meteochan %meteocommune a été trouvée dans la Base de Donnée, je recherche la météo de suite!
      SOCKOPEN meteoA www.meteo-consult.fr 80
    }
    ELSE { MSG %meteochan Soit la ville/commune n'est pas belge soit elle est mal orthographiée }
  }
  IF ((lune ISIN %meteoReadLune) && (</BODY> ISIN %meteoread)) MSG %MeteoChan Ephémérides: %meteoReadLune
}

ON *:SOCKOPEN:meteoA:{
  SOCKWRITE -n meteoA GET /ter/monde/prevision/moteur.php?langue=fr&saisie= $+ %meteoville
}

ON *:SOCKREAD:meteoA:{
  SOCKREAD %meteoRead
  IF (assezgros-gras-bleu ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<font class=assezgros-gras-bleu>,</font>)
    MSG %MeteoChan 
    MSG %MeteoChan Etat général: %meteoRead
  }
  IF (lune</font> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<font class=assezpetit-bleu>,</font>)
    %meteoReadLune = %MeteoRead
  }
  IF (</span></font></td> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,</span></font></td>,<BR>)
    %meteoRead1 =  $+ %meteoRead $+ :
  }
  IF (°C ISIN %meteoRead) {
    IF (RESSENTIE ISIN %meteoRead) %meteoRead = </font>
    %meteoRead = $remove(%meteoRead,<font class=gros-gras-bleu>,</font>)
    %meteoRead = $replace(%meteoRead,°C,°C)
    MSG %MeteoChan %MeteoRead1 %meteoRead
    %meteoread = $null
    %meteoread1 = $null
  }
  IF (<p align=justify> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,<p align=justify>,<BR>)
    %meteoRead1 = %meteoRead
  }
  IF (.</p> ISIN %meteoRead) {
    %meteoRead = $remove(%meteoRead,</p>)
    MSG %MeteoChan %MeteoRead1 %meteoRead
  }
  IF ((lune ISIN %meteoReadLune) && (</BODY> ISIN %meteoread)) MSG %MeteoChan Ephémérides: %meteoReadLune
}

Conclusion :


pour tout bug ou suggestion n'hesitez pas a me contacter à womby@epiknet.fr ou encore a passer faire un petit tour sur undernet salon #drogenbos :)

p.s pour l'installation mettez le script et le fichier texte dans le dossier meme de votre executable mirc

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.