IRCForumlarý - IRC ve mIRC Kullanýcýlarýnýn Buluþma Noktasý

IRCForumlarý - IRC ve mIRC Kullanýcýlarýnýn Buluþma Noktasý (https://www.ircforumlari.net/)
-   mIRC Scripting Hazýr Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   Hava Durumu [2011] (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/382505-hava-durumu-2011-a.html)

Difuzyon 13 Þubat 2011 22:21

Hava Durumu [2011]
 
Toplam 1 Eklenti bulunuyor.
Merhabalar,

Belirteceðiniz Ýl ve Ýlçe merkezlerinin Devlet Meteoroloji Ýþleri'nden alýnan verilere göre 5 günlük hava tahminini ve o an ki hava durumunu özetleyen bir çalýþmayý mIRC botunuzda kullanacak þekilde tasarladým.

Bu çalýþmanýn fikri forumda daha eskilerden el33t tarafýndan paylaþýlmýþ fakat güncelliðini (veri alýnan sitelerdeki deðiþim nedeniyle) kaybetmiþ.

Aþaðýdaki kodu mIRC botunuza ekledikten sonra kanaldaki bir nickin(kodu kendine ekleyen kiþi hariç):
.hava Þehir veya Ýlçe
!hava Þehir veya Ýlçe

yazmasý halinde verilere ulaþacaktýr.Devlet Meteoroloji Ýþleri sitesi illerin bazý ilçelerinde hava tahminleri vermiþ,bu nedenle kimi ilçelerde verileri elde edemeyebilirsiniz.
Kod:

alias havadurum {
  .remove hava.txt
  sockclose durum
  sockopen durum dmi.gov.tr 80
}
on *:sockopen:durum:{
  sockwrite -n $sockname GET /tahmin/il-ve-ilceler.aspx?m= $+ %difycity HTTP/1.1
  sockwrite -n $sockname Host: $sock($sockname).addr
  sockwrite -n $sockname Connection: Close
  sockwrite -n $sockname $crlf
}
on *:sockread:durum:{
  if ($sockerr) { msg %difychan $sock($sockname).wsmsg | halt }
  else {
    sockread %dify
    if $regex(%dify,/Bilgi Bulunamad/i) { msg %difychan Ýstenen merkez bulunamadý! | sockclose durum | halt }
    if $regex(%dify,/SonDurumRuzgarYon/i) { sockclose durum | msg %difychan $+(,$upper(%difycity),) için 5 günlük hava tahmini: | .play %difychan hava.txt 800 }
    if (*ctl00_mpBody*SonDurum* iswm %dify) { write -n hava.txt $chr(160) $replace($htmlfree(%dify),Äž,Ð,ü,ü,ÅŸ,þ,ı,ý,Ç,Ç,ÄŸ,ð,Ä°,Ý,ç,ç,ö,ö,Åž,Þ) }
    if $regex(%dify,/ctl00_mpBody.+SonDurum.+alt="(.+)" title="/i) { write -n hava.txt $chr(160)  $replace($regml(1),Äž,Ð,ü,ü,ÅŸ,þ,ı,ý,Ç,Ç,ÄŸ,ð,Ä°,Ý,ç,ç,ö,ö,Åž,Þ)  }
    if (*ctl00_mpBody_*arka*trh*</t?>* iswm %dify) { write -n hava.txt $replace($htmlfree(%dify),Äž,Ð,ü,ü,ÅŸ,þ,ı,ý,Ç,Ç,ÄŸ,ð,Ä°,Ý,ç,ç,ö,ö,Åž,Þ) }
    if $regex(%dify,/ctl00_mpBody_.+(")?minS">.+</td>/i) { write -n hava.txt $chr(160) En düþük: $htmlfree(%dify) }
    if $regex(%dify,/ctl00_mpBody_.+(")?maxS">.+</td>/i) { write -n hava.txt $chr(160) En yüksek: $htmlfree(%dify) }
    if $regex(%dify,/ctl00_mpBody_imgHadise.+" title="(.+)" src=".+</td>/i) { write -n hava.txt $chr(160) Hava: $replace($regml(1),Äž,Ð,ü,ü,ÅŸ,þ,ı,ý,Ç,Ç,ÄŸ,ð,Ä°,Ý,ç,ç,ö,ö,Åž,Þ)  $lf }
  }
}
alias htmlfree {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$chr(32),%x), %x = $remove(%x,&nbsp;,°) 
  return %x
}
on $*:text:/[!\.]hava\s\S+/ASi:#Meteoroloji:{
  if ($sock(durum,1).status == active || $play(1)) { notice $nick Sýrada bekleyen çalýþmanýn bitmesini bekleyiniz. | halt }
  else { msg $chan Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz... | set -e %difycity $replace($2,þ,s,Þ,S,ý,i,ç,c,Ç,c,ü,u,Ü,U,ö,o,Ö,O,ð,g,Ð,G) | set -e %difychan $chan | havadurum }
}



Þayet kodu kendinize ekleyip kendinizin direktifiyle çalýþmasýný istiyorsanýz,aþaðýdaki koduda kendi mircinize eklersiniz:

Kod:

on *:input:#Meteoroloji:{
  if $regex($1-,/[!\.]hava\s\S+/ASi) {
    if ($sock(durum,1).status == active || $play(1)) { echo -a Sýrada bekleyen çalýþmanýn bitmesini bekleyiniz. | halt }
    else { msg $chan Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz... | set -e %difycity $replace($2,þ,s,Þ,S,ý,i,ç,c,Ç,c,ü,u,Ü,U,ö,o,Ö,O,ð,g,Ð,G) | set -e %difychan $chan | havadurum }
  }
}

Ben kod içerisinde #kanal olarak #Meteoroloji kanalýný belirledim,siz kendinize göre kanal ismini deðiþebilirsiniz.
Kanaldan bir görünüm:

[21:29] <BLack> .hava sanliurfa
[21:29] <@Difuzyon> Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz...
[21:29] <@Difuzyon> SANLIURFA için 5 günlük hava tahmini:
[21:29] <@Difuzyon> 14 Þubat Pazartesi- En düþük: 3- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> 15 Þubat Salý- En düþük: 7- En yüksek: 12- Hava: YAÐMURLU
[21:29] <@Difuzyon> 16 Þubat Çarþamba- En düþük: 6- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> 17 Þubat Perþembe- En düþük: 5- En yüksek: 13- Hava: PARÇALI BULUTLU
[21:29] <@Difuzyon> 18 Þubat Cuma- En düþük: 4- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> - SON DURUM * - 13 Þubat Pazar, 21:00- Hava- PARÇALI BULUTLU - Sýcaklýk : 6.6C- -->- Nem : %94- Basýnç : 1016.7 hPa- Görüþ : 20 km
[21:29] <BLack> veriler doðrumu
[21:30] <BLack> güncel hava tahminini nerden alýyorsun
[21:31] <@Difuzyon> veriler tamamen YALAN
[21:31] <@Difuzyon> yaðmurlu dediðine bakma, hava CÝLLOP gibi
[21:32] <BLack> :)
[21:32] <@Difuzyon> ;)
[22:12] <@Difuzyon> !hava eyup
[22:12] <@Difuzyon> EYUP için 5 günlük hava tahmini:
[22:12] <@Difuzyon> 14 Þubat Pazartesi- En düþük: 3- En yüksek: 9- Hava: ÇOK BULUTLU
[22:12] <@Difuzyon> 15 Þubat Salý- En düþük: 1- En yüksek: 7- Hava: YAÐMURLU
[22:12] <@Difuzyon> 16 Þubat Çarþamba- En düþük: 0- En yüksek: 6- Hava: ÇOK BULUTLU
[22:12] <@Difuzyon> 17 Þubat Perþembe- En düþük: 1- En yüksek: 10- Hava: PARÇALI BULUTLU
[22:12] <@Difuzyon> 18 Þubat Cuma- En düþük: 5- En yüksek: 15- Hava: YAÐMURLU
[22:12] <@Difuzyon> - SON DURUM * - 13 Þubat Pazar, 21:20- Hava- AZ BULUTLU - Sýcaklýk : 4C- -->- Nem : %56- Basýnç : 1018 hPa- Görüþ : 10 km

Hoþca paylaþýmlar dilerim...

engink32 13 Þubat 2011 22:24

Cevap: Hava Durumu [2011]
 
güzel paylaþým teþekkürler..

VocaList 14 Þubat 2011 06:30

Cevap: Hava Durumu [2011]
 
Yine Döktürmüþsün Cenk Usta ((= Emeðine Saðlýk..

dEathLeSs 14 Þubat 2011 14:30

Cevap: Hava Durumu [2011]
 
Güzel calýsma basarýlar. bende Karakterler bozuk cýktý ustad nasýl düzeltebilirim?

oSmanLi 14 Þubat 2011 14:37

Cevap: Hava Durumu [2011]
 
güzel bir seye benziyor :)

Rodrigo 14 Þubat 2011 15:58

Cevap: Hava Durumu [2011]
 
Ýlgiyle izliyoruz sizi üstad:), tebrik ederim...

Yunus 14 Þubat 2011 18:22

Cevap: Hava Durumu [2011]
 
Eline saðlýk umarým herkese faydalý olur.

darkshades1 14 Þubat 2011 19:10

Cevap: Hava Durumu [2011]
 
Alýntý:

Difuzyon Nickli Üyeden Alýntý (Mesaj 1040680013)
Merhabalar,

Belirteceðiniz Ýl ve Ýlçe merkezlerinin Devlet Meteoroloji Ýþleri'nden alýnan verilere göre 5 günlük hava tahminini ve o an ki hava durumunu özetleyen bir çalýþmayý mIRC botunuzda kullanacak þekilde tasarladým.

Bu çalýþmanýn fikri forumda daha eskilerden el33t tarafýndan paylaþýlmýþ fakat güncelliðini (veri alýnan sitelerdeki deðiþim nedeniyle) kaybetmiþ.

Aþaðýdaki kodu mIRC botunuza ekledikten sonra kanaldaki bir nickin(kodu kendine ekleyen kiþi hariç):
.hava Þehir veya Ýlçe
!hava Þehir veya Ýlçe

yazmasý halinde verilere ulaþacaktýr.Devlet Meteoroloji Ýþleri sitesi illerin bazý ilçelerinde hava tahminleri vermiþ,bu nedenle kimi ilçelerde verileri elde edemeyebilirsiniz.
Kod:

alias havadurum {
  .remove hava.txt
  sockclose durum
  sockopen durum dmi.gov.tr 80
}
on *:sockopen:durum:{
  sockwrite -n $sockname GET /tahmin/il-ve-ilceler.aspx?m= $+ %difycity HTTP/1.1
  sockwrite -n $sockname Host: $sock($sockname).addr
  sockwrite -n $sockname Connection: Close
  sockwrite -n $sockname $crlf
}
on *:sockread:durum:{
  if ($sockerr) { msg %difychan $sock($sockname).wsmsg | halt }
  else {
    sockread %dify
    if $regex(%dify,/Bilgi Bulunamad/i) { msg %difychan Ýstenen merkez bulunamadý! | sockclose durum | halt }
    if $regex(%dify,/SonDurumRuzgarYon/i) { sockclose durum | msg %difychan $+(,$upper(%difycity),) için 5 günlük hava tahmini: | .play %difychan hava.txt 800 }
    if (*ctl00_mpBody*SonDurum* iswm %dify) { write -n hava.txt $chr(160) $replace($htmlfree(%dify),Ä�,Ð,ü,ü,Å�,þ,ı,ý,Ã�,Ç,Ä�,ð,Ä°,Ý,ç,ç,ö,ö,Å�,Þ) }
    if $regex(%dify,/ctl00_mpBody.+SonDurum.+alt="(.+)" title="/i) { write -n hava.txt $chr(160)  $replace($regml(1),Ä�,Ð,ü,ü,Å�,þ,ı,ý,Ã�,Ç,Ä�,ð,Ä°,Ý,ç,ç,ö,ö,Å�,Þ)  }
    if (*ctl00_mpBody_*arka*trh*</t?>* iswm %dify) { write -n hava.txt $replace($htmlfree(%dify),Ä�,Ð,ü,ü,Å�,þ,ı,ý,Ã�,Ç,Ä�,ð,Ä°,Ý,ç,ç,ö,ö,Å�,Þ) }
    if $regex(%dify,/ctl00_mpBody_.+(")?minS">.+</td>/i) { write -n hava.txt $chr(160) En düþük: $htmlfree(%dify) }
    if $regex(%dify,/ctl00_mpBody_.+(")?maxS">.+</td>/i) { write -n hava.txt $chr(160) En yüksek: $htmlfree(%dify) }
    if $regex(%dify,/ctl00_mpBody_imgHadise.+" title="(.+)" src=".+</td>/i) { write -n hava.txt $chr(160) Hava: $replace($regml(1),Ä�,Ð,ü,ü,Å�,þ,ı,ý,Ã�,Ç,Ä�,ð,Ä°,Ý,ç,ç,ö,ö,Å�,Þ)  $lf }
  }
}
alias htmlfree {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$chr(32),%x), %x = $remove(%x,&nbsp;,°) 
  return %x
}
on $*:text:/[!\.]hava\s\S+/ASi:#Meteoroloji:{
  if ($sock(durum,1).status == active || $play(1)) { notice $nick Sýrada bekleyen çalýþmanýn bitmesini bekleyiniz. | halt }
  else { msg $chan Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz... | set -e %difycity $replace($2,þ,s,Þ,S,ý,i,ç,c,Ç,c,ü,u,Ü,U,ö,o,Ö,O,ð,g,Ð,G) | set -e %difychan $chan | havadurum }
}

Þayet kodu kendinize ekleyip kendinizin direktifiyle çalýþmasýný istiyorsanýz,aþaðýdaki koduda kendi mircinize eklersiniz:

Kod:

on *:input:#Meteoroloji:{
  if $regex($1-,/[!\.]hava\s\S+/ASi) {
    if ($sock(durum,1).status == active || $play(1)) { echo -a Sýrada bekleyen çalýþmanýn bitmesini bekleyiniz. | halt }
    else { msg $chan Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz... | set -e %difycity $replace($2,þ,s,Þ,S,ý,i,ç,c,Ç,c,ü,u,Ü,U,ö,o,Ö,O,ð,g,Ð,G) | set -e %difychan $chan | havadurum }
  }
}

Ben kod içerisinde #kanal olarak #Meteoroloji kanalýný belirledim,siz kendinize göre kanal ismini deðiþebilirsiniz.
Kanaldan bir görünüm:

[21:29] <BLack> .hava sanliurfa
[21:29] <@Difuzyon> Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz...
[21:29] <@Difuzyon> SANLIURFA için 5 günlük hava tahmini:
[21:29] <@Difuzyon> 14 Þubat Pazartesi- En düþük: 3- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> 15 Þubat Salý- En düþük: 7- En yüksek: 12- Hava: YAÐMURLU
[21:29] <@Difuzyon> 16 Þubat Çarþamba- En düþük: 6- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> 17 Þubat Perþembe- En düþük: 5- En yüksek: 13- Hava: PARÇALI BULUTLU
[21:29] <@Difuzyon> 18 Þubat Cuma- En düþük: 4- En yüksek: 13- Hava: YAÐMURLU
[21:29] <@Difuzyon> - SON DURUM * - 13 Þubat Pazar, 21:00- Hava- PARÇALI BULUTLU - Sýcaklýk : 6.6C- -->- Nem : %94- Basýnç : 1016.7 hPa- Görüþ : 20 km
[21:29] <BLack> veriler doðrumu
[21:30] <BLack> güncel hava tahminini nerden alýyorsun
[21:31] <@Difuzyon> veriler tamamen YALAN
[21:31] <@Difuzyon> yaðmurlu dediðine bakma, hava CÝLLOP gibi
[21:32] <BLack> :)
[21:32] <@Difuzyon> ;)
[22:12] <@Difuzyon> !hava eyup
[22:12] <@Difuzyon> EYUP için 5 günlük hava tahmini:
[22:12] <@Difuzyon> 14 Þubat Pazartesi- En düþük: 3- En yüksek: 9- Hava: ÇOK BULUTLU
[22:12] <@Difuzyon> 15 Þubat Salý- En düþük: 1- En yüksek: 7- Hava: YAÐMURLU
[22:12] <@Difuzyon> 16 Þubat Çarþamba- En düþük: 0- En yüksek: 6- Hava: ÇOK BULUTLU
[22:12] <@Difuzyon> 17 Þubat Perþembe- En düþük: 1- En yüksek: 10- Hava: PARÇALI BULUTLU
[22:12] <@Difuzyon> 18 Þubat Cuma- En düþük: 5- En yüksek: 15- Hava: YAÐMURLU
[22:12] <@Difuzyon> - SON DURUM * - 13 Þubat Pazar, 21:20- Hava- AZ BULUTLU - Sýcaklýk : 4C- -->- Nem : %56- Basýnç : 1018 hPa- Görüþ : 10 km

Hoþca paylaþýmlar dilerim...

Hocam Elinize Saðlýk Denedim ama Söyle Bir Sonuc Aldým
----------------------------------------------------
[19:07:50] <02Microsoft> !hava alanya
[19:07:50] <05Nod32> Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz...
[19:07:52] <05Nod32> ALANYA için 5 günlük hava tahmini:
[19:07:53] <05Nod32> 15 Åžubat Salı En düþük: 11 En yüksek: 18 Hava: SAÄžANAK YAÄžIÅžLI 
[19:07:54] <05Nod32> 16 Åžubat ÇarÅŸamba En düþük: 11 En yüksek: 18 Hava: SAÄžANAK YAÄžIÅžLI 
[19:07:54] <05Nod32> 17 Åžubat PerÅŸembe En düþük: 10 En yüksek: 19 Hava: AZ BULUTLU 
[19:07:55] <05Nod32> 18 Åžubat Cuma En düþük: 11 En yüksek: 19 Hava: PARÇALI BULUTLU 
[19:07:56] <05Nod32> 19 Åžubat Cumartesi En düþük: 11 En yüksek: 18 Hava: SAÄžANAK YAÄžIÅžLI 
[19:07:57] <05Nod32> SON DURUM * - 14 Åžubat Pazartesi, 18:00 Hava  ...  Sýcaklýk : 14.7°C --> Nem : %83 Basýnç : 1011.7 hPa GörüÅŸ : -

--------------------------------------------------

Difuzyon 14 Þubat 2011 21:39

Cevap: Hava Durumu [2011]
 
Kodu foruma kopyalama yaptýðýmda, bazý karakterleri forum dili olduðu gibi çeviriyor.
Bu nedenle kodun orjinal halini Eklenti olarak ekledim.
Yazý karakteri konusunda sorun yaþayan arkadaþlar kodu eklentiden indirebilirler.

Nothinq 19 Mart 2011 01:28

Cevap: Hava Durumu [2011]
 
So) 01:28:13 <10%Red> .hava sanliurfa
(So) 01:28:13 <10%Red> Verilere ulaþýlmaya çalýþýyor,lütfen bekleyiniz...
bu sekilde msg verdi fakat bilgileri vermedi statuste soyle bi hata veriyor;
HAVADURUM Unknown command;


Tüm Zamanlar GMT +3 Olarak Ayarlanmýþ. Þuanki Zaman: 12:13.

Powered by vBulletin® Version 3.8.8 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2024 IRCForumlari.Net