[mIRC SCRIPTING] Previsão meteorológica.

Started by AvisaPT, December 19, 2005, 10:06:55 AM

Previous topic - Next topic

AvisaPT

Abrir o mIRC e presionnar ALT+R e ir a secção Remotes e criar um Remote novo e e colar o código..



Este código adiciona ao bot o comando !tempo.
A sua função é mostrar o tempo (meteorologia) para o dia seguinte, em Portugal Continental.
Os resultados são obtidos deste site: http://tempo.publico.clix.pt/meteo-amanha.asp

Usos:
!tempo norte
!tempo centro
!tempo sul


Exemplo:
<user> !tempo norte
<bot> Previsão do tempo para amanhã, em Portugal Continental
<bot> NORTE: Céu muito nublado. Vento de sueste moderado (20 a 35 km/h), soprando moderado a forte (35 a 55 km/h) com rajadas até 90 km/h) nas terras altas. Chuva fraca.

on *:text:!tempo*:#:{

  if ($2 == norte) {

if (!%socktempopause) {

 sockclose tempo

 set -u20 %socktempopause pause

 set %socktempolocal norte

 set %socktempocanal $chan

 sockopen tempo tempo.publico.clix.pt 80

}

else { msg $chan $nick $+ , esse comando está bloqueado para evitar flood. Tenta daqui a 20 segundos. }

  }

  elseif ($2 == centro) {

if (!%socktempopause) {

 sockclose tempo

 set -u20 %socktempopause pause

 set %socktempolocal centro

 set %socktempocanal $chan

 sockopen tempo tempo.publico.clix.pt 80

}

else { msg $chan $nick $+ , esse comando está bloqueado para evitar flood. Tenta daqui a 20 segundos. }

  }

  elseif ($2 == sul) {

if (!%socktempopause) {

 sockclose tempo

 set -u20 %socktempopause pause

 set %socktempolocal sul

 set %socktempocanal $chan

 sockopen tempo tempo.publico.clix.pt 80

}

else { msg $chan $nick $+ , esse comando está bloqueado para evitar flood. Tenta daqui a 20 segundos. }

  }

  else { msg $chan Usos: !tempo norte|centro|sul }

}

on *:sockopen:tempo:{

  if ($sockerr > 0) { return }

  sockwrite -n $sockname GET /meteo-amanha.asp HTTP/1.1

  sockwrite -n $sockname Host: tempo.publico.clix.pt

  sockwrite -n $sockname Connection: Keep-Alive

  sockwrite -n $sockname $crlf

}

on *:sockread:tempo:{

  if ($sockerr > 0) { return }

  var %socktempo

  sockread %socktempo

  if ($sockbr == 0) { return }

  if ((meteocorpo isin %socktempo) && ($+(%socktempolocal,:) isin %socktempo)) {

msg %socktempocanal Previsão do tempo para amanhã, em Portugal Continental

var %text = $remove($gettok(%socktempo,$calc($numtok(%socktempo,60) -1),60),/,strong,>,:)

msg %socktempocanal $+(,$upper(%socktempolocal),,:) $left(%text,400)

if ($len(%text) > 400) { msg %socktempocanal $right(%text,-400) }

sockclose tempo

  }

}
By: AvisaPT

BoxTuga.com