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/)
-   -   Namaz Vakitleri Kodu (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/1075602-namaz-vakitleri-kodu.html)

noexity 13 Ocak 2026 12:07

Namaz Vakitleri Kodu
 
Merhaba arkadaşlar,

mIRC üzerinde Türkiye için günlük namaz vakitlerini kanala veya status ekranına yazdıran, şehir / ilçe destekli bir script hazırladım.

Vakitler güncel olarak vakit.vercel.app API üzerinden çekilmektedir.

🔹 Özellikler

🇹🇷 Türkiye geneli şehir & ilçe desteği

📅 Güncel imsak, güneş, öğle, ikindi, akşam, yatsı

⏳ Bir sonraki vakte kalan süreyi otomatik hesaplar

💬 Kanaldan komutla çağrılabilir

⚙️ Alias ve TEXT event olarak çalışır

🧹 Otomatik temp variable temizliği (-u30)

🔹 Kullanım
!namaz İl ilçe veya .namaz İl ilçe şeklinde de çalışır.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

/namaz İl ilçe şeklinde de kullanılabilir.
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Kod:

alias namaz {
  if (!$chan) { echo -s Önce bir kanala gir | return }
  set -u30 %namaz.chan $chan
  var %girdi $iif($1-,$1-,Ankara)

  ; İlk kelime şehir (region), ikinci+ kelime ilçe (city)
  var %ilk $gettok(%girdi,1,32)
  var %ikinci $gettok(%girdi,2-,32)

  set -u30 %namaz.region $upper($left(%ilk,1)) $+ $mid(%ilk,2)
  set -u30 %namaz.city $iif(%ikinci,$upper($left(%ikinci,1)) $+ $mid(%ikinci,2),%namaz.region)
  imsakcek
}

alias imsakcek {
  var %qk $+(imsak,$r(1,9999)) | .comopen %qk Msxml2.ServerXMLHTTP.6.0
  var %region $replace(%namaz.region,$chr(32),%20)
  var %city $replace(%namaz.city,$chr(32),%20)
  var %tarih $asctime(yyyy-mm-dd)
  var %url https://vakit.vercel.app/api/timesFromPlace?country=Turkey&region= $+ %region $+ &city= $+ %city $+ &date= $+ %tarih $+ &days=1&timezoneOffset=180&calculationMethod=Turkey

  noop $com(%qk, open, 2, bstr, GET, bstr, %url)
  noop $com(%qk, send, 1) $com(%qk, responseText, 2)
  var %l1 $len($com(%qk).result)
  if %l1 > 2000 { var %l $mid($com(%qk).result,1,2000) }
  else { var %l $mid($com(%qk).result,2,2000) }
  .comclose %qk

  ; Vakitler array formatında: ["imsak","güneş","öğle","ikindi","akşam","yatsı"]
  if ($regex(%l,/"times":\{[^:]+:\[([^\]]+)\]\}\}/)) {
    var %vakitler $regml(1)
    var %vakitler $remove(%vakitler,$chr(34))
    var %imsak $gettok(%vakitler,1,44)
    var %gunes $gettok(%vakitler,2,44)
    var %ogle $gettok(%vakitler,3,44)
    var %ikindi $gettok(%vakitler,4,44)
    var %aksam $gettok(%vakitler,5,44)
    var %yatsi $gettok(%vakitler,6,44)

    ; Bir sonraki vakit hesabı
    var %simdisaat $asctime(HH:nn)
    var %sonrakivakit, %sonrakiad
    if (%simdisaat < %imsak) { var %sonrakivakit %imsak | var %sonrakiad İmsak }
    elseif (%simdisaat < %gunes) { var %sonrakivakit %gunes | var %sonrakiad Güneş }
    elseif (%simdisaat < %ogle) { var %sonrakivakit %ogle | var %sonrakiad Öğle }
    elseif (%simdisaat < %ikindi) { var %sonrakivakit %ikindi | var %sonrakiad İkindi }
    elseif (%simdisaat < %aksam) { var %sonrakivakit %aksam | var %sonrakiad Akşam }
    elseif (%simdisaat < %yatsi) { var %sonrakivakit %yatsi | var %sonrakiad Yatsı }
    else { var %sonrakiad Tüm vakitler geçti }

    if (%sonrakivakit) {
      var %simdictime $ctime($asctime(dd/mm/yyyy) %simdisaat)
      var %sonrakictime $ctime($asctime(dd/mm/yyyy) %sonrakivakit)
      var %fark $calc(%sonrakictime - %simdictime)
      var %saat $int($calc(%fark / 3600))
      var %dakika $int($calc((%fark % 3600) / 60))
      var %kalan %sonrakiad vaktine %saat saat %dakika dakika kaldı
    }
  }

  var %gosterim $iif(%namaz.region != %namaz.city,%namaz.region / %namaz.city,%namaz.city)

  if (%namaz.chan) {
    msg %namaz.chan 15(5 $+ %gosterim $+ 15)
    msg %namaz.chan 14İmsak:6 %imsak 15| 14Güneş:6 %gunes 15| 14Öğle:6 %ogle 15| 14İkindi:6 %ikindi 15| 14Akşam:6 %aksam 15| 14Yatsı:6 %yatsi
    if (%kalan) msg %namaz.chan 15->10 %kalan
  }
  else {
    echo -s 5( $+ %gosterim $+ 15)
    echo -s 07İmsak: %imsak 14İmsak:6 %imsak 15| 14Güneş:6 %gunes 15| 14Öğle:6 %ogle 15| 14İkindi:6 %ikindi 15| 14Akşam:6 %aksam 15| 14Yatsı:6 %yatsi
    if (%kalan) echo -s 15->10 %kalan
  }
  unset %namaz.*
}

on *:TEXT:*:#:{
if ($regex($1,/^[!.]namaz$/i)) {
    set -u30 %namaz.chan $chan
    var %girdi $iif($2-,$2-,Ankara)

    var %ilk $gettok(%girdi,1,32)
    var %ikinci $gettok(%girdi,2-,32)

    set -u30 %namaz.region $upper($left(%ilk,1)) $+ $mid(%ilk,2)
    set -u30 %namaz.city $iif(%ikinci,$upper($left(%ikinci,1)) $+ $mid(%ikinci,2),%namaz.region)
    imsakcek
  }
}


idyllic 13 Ocak 2026 15:35

Cevap: Namaz Vakitleri Kodu
 
emeğine sağlık @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] =)

SNOOPY 13 Ocak 2026 16:54

Cevap: Namaz Vakitleri Kodu
 
emeğine sağlık güzel çalışma

Dedecan61 13 Ocak 2026 17:04

Cevap: Namaz Vakitleri Kodu
 
Eline sağlık güzel çalışma tebrikler +


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:05.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk