Radyo dinleyici kayit sistemi

Aytac

Developer
Yönetici
Developer
Katılım
4 Şub 2020
Mesajlar
372
Tepkime puanı
17
Puanları
18
Konum
ircland
Web sitesi
www.ircalem.net
Merhabalar, bildiginiz gibi bugüne kadar yapilan herşey, ya sohbet üzerine kuruludur , yada giris sistemleri üstüne kurulu, ben ise bu aliskanligi az degiştirdim kendime göre, sene 2013'den beridir var olan bir sistem, bir arkadas icin yazilmis bir codeydi , ve radyo'da dinleyenlerin kac dakika kac saniye kac saat seklinde gösterebilen bir sistem, bu code gelisime acık bir sistemdir, hayal gücünüzle birlikte daha bir cok sekle bürünebilir, top10 sistemi, buna benzer dinleyenlerle neler yapacaginiz vs. vs...

Kullanimi: alt kısımdaki bilgileri doldurmaniz kafi, sonra mirci acip tekrar kapatiniz.

Kod:
;Radyo admin paneli sifresi
alias radyopass return radyoadmin

;Radyo yayin adresi
alias radyoip return 178.33.34.48

;Radyo yayin portu
alias radyoport return 9306

;Radyo kanali
alias radyo.chan return #Radyo

;Radyo dinleyenlere voice verilsimmii 1 evet 0 hayir
alias radyo.voice return 0

;Radyo aciyip kapatanlari bir kanalda belirtmek istermisiniz ?
;1 evet 0 hayir
alias dinleyen.chan return #KANAL

;Radyo dinleyenlere mesaj atabilmek icin 1 evet 0 hayir
alias dinleyen.durum return 0

Gelistirebilirseniz Print:



NOT:  Bazi gereksiz arkadaslar uyaniklik yapip, sadece kendilerinde kullaniyorlar'mis, ve ben yeni gördüm benim codeyi kullandıklarini, sorun yok istedikleri kadar kullanabilirler artık, paylasirim biter ben icin, code patlak verecek elbet, o gün ne yapacaklar acaba shoutcast v2'ye gecince sistem,  ama sasirdigim kısım bana yabancı sitelerden codeyi caliyorsun diyen kişiler benim codeyi kullanıyor, ne garip.. o kadar acizlerki cidden acıdım, merak etmesinler ben code meraklisi degilim, ama sadece onlar degil bari herkes kullansin en temizi oyle olur, acıdım cidden , bundan sonra calcak code nerden bulcak cok merak ediyorum, sanal delikanli arkadaslarim, Hayırlı IF'ler. :)



Kod:
;Radyo admin paneli sifresi
alias radyopass return radyoadmin

;Radyo yayin adresi
alias radyoip return 178.33.34.48

;Radyo yayin portu
alias radyoport return 9306

;Radyo kanali
alias radyo.chan return #Radyo

;Radyo dinleyenlere voice verilsimmii 1 evet 0 hayir
alias radyo.voice return 0

;Radyo aciyip kapatanlari bir kanalda belirtmek istermisiniz ?
;1 evet 0 hayir
alias dinleyen.chan return #KANAL

;Radyo dinleyenlere mesaj atabilmek icin 1 evet 0 hayir
alias dinleyen.durum return 0

on *:start: {
  hashopen
  .timervoice 0 15 /radyovoice
}

on *:text:*:$($radyo.chan): {
  if $regex($1-,/[!.]sure/i) {
    if !$2 { msg # 4*\5 $qt($nick) 2Rumuzu radyo dinleme sureniz5 $iif($readini(radyodinle.ini,Sure,$nick),$tamsure($v1),Bulunmuyor.)  | return }
    if $2 { msg # 4*\5 $qt($2) 2Rumuzu radyo dinleme suresi5 $iif($readini(radyodinle.ini,Sure,$2),$tamsure($v1),Bulunmuyor.)  | return }
  }
}

raw 352:*: {
  if ($numeric == 352) {
    if $hget(dinleyen,$4) {
      if (r isin $7) {
        hadd -mu5 radyoonline $4 $6
        writeini radyodinle.ini Dinleyen $6 $4
        if !$hget(radyodinleme,$6) { hadd -mu20 radyodinleme $6 $ctime }
        if $hget(radyodinleme,$6) {
          writeini radyodinle.ini Sure $6 $calc($iif($readini(radyodinle.ini,Sure,$6),$v1,0) + $calc($ctime - $hget(radyodinleme,$6)))
          hadd -mu20 radyodinleme $6 $ctime
        }
      }
    }
    if $hget(dinleyen,$4) && !$hget(dinleyennick,$6) {
      hadd -m dinleyenip $4 $6
      hadd -m dinleyennick $6 $4
      if ($dinleyen.durum !== 0) { notice $6 4 $6 1yayini dinlediginiz icin tesekkurler, radyonuz suan acik durumdadir }
      if ($radyo.voice !== 0) { .mode $radyo.chan +v $6 }
      if ($dinleyen.durum !== 0) { .msg $dinleyen.chan [3ACAN]2 $6 3 radyoyu acti. }
      if (r isin $9) {
        if ($dinleyen.durum !== 0) { notice $6 5*\ 1Yayın dinleme sureniz toplam5 $sure($6) 1dinlemektesiniz. }
      }
      if (r !isin $7) && ($dinleyen.durum !== 0) {
        notice $6 5*\ 1Nickiniz suan kayitsiz kayitli bir nicke erisim sagladiginizda 5top101 listesine sizde bulunabilirsiniz.
        notice $6 5*\ 1Nick kayit icin 4 $helpchan 1kanalina basvurabilirsiniz.
      }
    }
    if $hget(kapatan,$4) {
      hdel -m kapatan $4
      hdel -m dinleyennick $6
      hdel -m radyodinleme $6
      if ($dinleyen.durum !== 0) { notice $6 4 $6 1Radyo yayini dinlediginiz icin tesekkurler, radyonuz suan kapali duruma gecmistir. }
      if ($radyo.voice !== 0) { .mode $radyo.chan -v $6 }
      if ($dinleyen.durum !== 0) { .msg $dinleyen.chan [4KAPATAN]2 $6 4 radyoyu acti. }
      if (r isin $9) && ($dinleyen.durum !== 0) { notice $6 5*\1 5*\ 1Yayın dinleme sureniz toplam5 $sure($6) 1dinlemissiniz. }
      if (r !isin $9) && ($dinleyen.durum !== 0) {
        notice $6 5*\ 1Nickiniz suan kayitsiz kayitli bir nicke erisim sagladiginizda 5top101 listesine sizde bulunabilirsiniz.
        notice $6 5*\ 1Nick kayit icin 4 $helpchan 1kanalina basvurabilirsiniz.
      }
    }
    haltdef
  }
  if ($numeric == 315) {
    var %ip $right($left($4,-1),-1)
    if $hget(dinleyen,%ip) && !$hget(radyoonline,%ip) {
      if $read(radyodinle.ini,w,$+(*=,%ip)) {
        hadd -mu5 simdilik evet $token($v1,1,61)
        if !$hget(radyodinleme,$hget(simdilik,evet)) { hadd -mu20 radyodinleme $hget(simdilik,evet) $ctime }
        writeini radyodinle.ini Sure $hget(simdilik,evet) $calc($iif($readini(radyodinle.ini,sure,$hget(simdilik,evet)),$v1,0) + $calc($ctime - $hget(radyodinleme,$hget(simdilik,evet))))
        hadd -mu20 radyodinleme $hget(simdilik,evet) $ctime
      }
    }
    if $hget(kapatan,%ip) {
      hdel -m kapatan %ip
      hdel -m radyodinleme %ip
      if ($dinleyen.durum !== 0) { .msg $dinleyen.chan [4Kapatan] 2 $hfind(dinleyennick,%ip,1,W).data 5  yayini kapatti }
      haltdef
    }
  }
}
on 1:SOCKOPEN:radyovoice: {
  sockwrite -n $sockname GET $+(/admin.cgi?pass=,$radyopass HTTP/1.1)
  sockwrite -n $sockname Host: $+($radyoip, :, $radyoport)
  sockwrite -n $sockname User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040614 Firefox/0.8
  sockwrite -n $sockname *.*, */*
  ; sockwrite -n $sockname Accept-Language: en-us,en;q=0.5
  sockwrite -n $sockname Accept-Language: tr,tr;q=0.5
  sockwrite -n $sockname Accept-Encoding: gzip,deflate
  sockwrite -n $sockname Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
  sockwrite -n $sockname Keep-Alive: 300
  sockwrite -n $sockname Connection: keep-alive
  sockwrite -n $sockname $crlf
}
on 1:SOCKREAD:radyovoice: {
  var %data
  sockread -f %data
  tokenize 32 %data
  var %x 1
  if $regex($1-,/class=st>([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/gi) {
    var %x 1
    while $regml(%x) {
      hadd -m dinleyen $v1 evet
      inc %x
    }
  }
}

on *:sockclose:radyovoice: {
  var %x 1 |while $hget(dinleyen,%x).item {
    who +I $+(*,$v1,*) | inc %x
  }
  var %e 1 | while $hget(dinleyenip,%e).item {
    var %v1 $v1 | if !$hget(dinleyen,$v1) {
      hdel -m dinleyenip %v1 | hadd -m kapatan %v1 evet | who +I $+(*,%v1,*)
    }
    inc %e
  }
}

alias radyovoice {
  if $hget(dinleyen) { .hfree -sw dinleyen }
  if !$sock(radyovoice) {
    sockopen radyovoice $radyoip $radyoport
  }
}
alias tamsure {
  var %islem $replace($duration($1),hr,hrs,min,mins,sec,secs,day,days,wk,wks), %hafta $iif(wks isin %islem,$token(%islem,1,$asc(wks))), %gun $iif(days isin %islem,$token($token(%islem,1,$asc(days)),-1,32))
  var %saat $iif(hrs isin %islem,$token($token(%islem,1,$asc(hrs)),-1,32)), %dakika $iif(mins isin %islem,$token($token(%islem,1,$asc(mins)),-1,32))
  var %saniye $iif(secs isin %islem,$token(%islem,-2,$asc(secs)))
  if %hafta { var %hafta $calc(%hafta * 168) }
  if %gun { var %gun $calc(%gun * 24) }
  return $calc(%saat + %hafta + %gun) $+ saat $calc(0 + %dakika) $+ dakika $calc(0 + %saniye) $+ saniye
}
alias sure {
  if $readini(radyodinle.ini,Sure,$1) { return $tamsure($v1) }
  else { return 0saat 0dakika 0saniye }
}
 
Üst