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 Sorunları (https://www.ircforumlari.net/mirc-scripting-sorunlari/)
-   -   Mümkünmüdür ? (https://www.ircforumlari.net/mirc-scripting-sorunlari/47964-mumkunmudur.html)

RedLine 22 Ocak 2008 01:56

Mümkünmüdür ?
 
Socket Bot scriptinde aşağıdaki hata alındığında radyo kanalına yayın boşta dedirtebilirmiyiz acaba ?
Kod:

-
* /sockwrite: 'shoutcast' bağlı değil (line 2438, No.Mercy)
-


L4roXyL 22 Ocak 2008 02:14

Cevap: Mümkünmüdür ?
 
on *:sockclose:shoutcast:if ($status == connected) msg #radyo Yayın boşta.

Shoutcast socket bağlantısı koptuğunda, eğer sen sunucuya bağlı isen; #radyo kanalına msg atarsın.
Eğer socket bot ile bildiri yapmak istiyorsan, diğer socket bağlantının ismini vermek zorundasın. Ona göre birşeyler yapılır.

RedLine 22 Ocak 2008 02:35

Cevap: Mümkünmüdür ?
 
Üstad fakat şöyle bişi var bu shoutcast in socket bot bağlantısı kopmuyor çoğu zaman yani o yukarı da belirttiğim hata nadir çıkıyor yayın kimsede olmamasına rağmen yani istediğim yayın boşta olduğu zaman biri !durum çektiğinde Yayın boşta demesi ve yine sizin belirttiğiniz gibi socket ta ki bağlantı koptuğunda radyo kanalına bildiri vermesi.

RedLine 22 Ocak 2008 02:36

Cevap: Mümkünmüdür ?
 
Kod:

; RadyoBot

alias shoutcast.channel {
  return #Radyo
}

alias shoutcast.host {
  return 64.86.135.133
}

alias shoutcast.port {
  return vs.vs.
}

alias shoutcast.adminpass {
  return vs.vs.
}

alias shoutcast.socket {
  return shoutcast
}

alias getxmltext {
  var %tag.open = $+(<, $1, >)
  var %tag.close = $+(</, $1, >)
  if $pos($2-,%tag.open) {
    var %start = $ifmatch + $len(%tag.open)
    var %length  = $calc($pos($2-, %tag.close) - %start)
    return $mid($2-, %start, %length)
  }
  return $null
}

on 1:SOCKOPEN:$($shoutcast.socket): {
  sockwrite -n $sockname GET $+(/admin.cgi?pass=,$shoutcast.adminpass,&mode=viewxml HTTP/1.1)
  sockwrite -n $sockname Host: $+($shoutcast.host, :, $shoutcast.port)
  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:$($shoutcast.socket): {
  var %data
  sockread -f %data
  while $sockbr > 0 && $sockerr == 0 {
    if $getxmltext(SERVERTITLE, %data) != $null {
      set %servertitle $remove($ifmatch,&#xFF;,&#x26;)
    }
    if $getxmltext(CURRENTLISTENERS, %data) != $null {
      set %currentlisteners $ifmatch
    }
    if $getxmltext(SONGTITLE, %data) != $null {
      set %songtitle $ifmatch
      ;  set %songtitle $remove($ifmatch,&#xFF;,&#x26;)
    }
    if $getxmltext(BITRATE, %data) != $null {
      set %bitrate $ifmatch
    }
    if $getxmltext(PEAKLISTENERS, %data) != $null {
      set %peaklisteners $ifmatch
    }
    if $getxmltext(SERVERGENRE, %data) != $null {
      set %genre $remove($ifmatch,&#xFF;,&#x26;)
    }
    sockread -f %data
  }
}

on 1:SOCKCLOSE:$($shoutcast.socket): {
  if %songtitle != %lastsong {
    set %lastsong %songtitle
    ;  .timer 1 7 sw nomercy PRIVMSG $shoutcast.channel : $djnick(%description)
    ;  .timer 1 20 sw nomercy PRIVMSG $shoutcast.channel : $djnick(%description)
    ;var %msg = 4,4  0,5 $fants(%genre) su anda online. 0,2 Çalan Parça: %songtitle $+ .
    .timerradyomsg1 off
    .timerradyomsg2 off
    sw nomercy topic $shoutcast.channel : 11,1 Yayinda su an »»»  $+ %genre $+  ««« bulunmakta. * Yayin turu:  $+ %servertitle $+  * Calan parca: «  $+ %songtitle $+  » 
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,6 DJlerimizden 0,4 $fants(%genre) şu anda online
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,2 Çalan Parça:0,10 %songtitle 
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,2 Dinlenme Oranı:0,6 ( $calc(6+ %currentlisteners ) ) kisi dinliyor ( rekor: $calc(30+ %peaklisteners $+ ) $+ )
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  9,1 Radyomuzu winamp'tan dinlemek icin tiklayin 0,4 >>   12http://64.86.135.133:3046/listen.pls
    ;  sw nomercy privmsg $shoutcast.channel :0,4 **  0,1 Radyomuzu WEB'den dinlemek icin tiklayin 0,4 >>   12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sw nomercy privmsg $shoutcast.channel :-
    .timerradyomsg1 1 130 sw nomercy privmsg $shoutcast.channel :2 *~~ 0,4 D 0,2 J  $djnick(%genre) $randombilgi
    .timerradyomsg2 1 60 sw nomercy privmsg $shoutcast.channel :2 *~~ 0,4 D 0,2 J  $djnick(%genre) $randombilgi
  }
}

alias shout {
  if $sock(shoutcast) {
    sockclose $ifmatch
  }
  sockopen $shoutcast.socket $shoutcast.host $shoutcast.port
}

alias fants {
  return $replace($1-,b,ß,a,á,i,í,o,ó,l,L,s,$,I,Î,e,é,?,¿,t,†,y,¥,c,¢,o,Ó,n,ñ)
}

alias tc {
  if . isin $calc($1- / 2) {
    return tek
  }
  else {
    return cift
  }
}

alias djnick {
  var %n 1 , %ret
  while %n <= $len($1-) {
    if $tc(%n) == tek {
      %ret = $+(%ret,0 $+ $chr(44) $+ 1 $mid($1-,%n,1) )
    }
    else {
      %ret = $+(%ret,8 $+ $chr(44) $+ 1 $mid($1-,%n,1) )
    }
    inc %n
  }
  return %ret 11,1
}

alias randombilgi {
  if $r(1,2) == 1 {
    return > : 4Dinlemek icin > 12http://64.86.135.133:3046/listen.pls
  }
  else {
    return > : 4Istekleriniz icin 12!istek istediginiz sarki ve mesajiniz4  yaziniz.
  }
}

Bu da botumdaki koddur.

RedLine 22 Ocak 2008 16:46

Cevap: Mümkünmüdür ?
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] online değilsiniz sanırım ;s

CipriX 22 Ocak 2008 18:30

Cevap: Mümkünmüdür ?
 
PHP- Kodu:

RadyoBot
alias shoutcast
.channel {
  return 
#Radyo
}
alias shoutcast.host {
  return 
64.86.135.133
}
alias shoutcast.port {
  return 
vs.vs.
}
alias shoutcast.adminpass {
  return 
vs.vs.
}
alias shoutcast.socket {
  return 
shoutcast
}
alias getxmltext {
  var %
tag.open = $+(<, $1, >)
  var %
tag.close = $+(</, $1, >)
  if 
$pos($2-,%tag.open) {
    var %
start $ifmatch $len(%tag.open)
    var %
length  $calc($pos($2-, %tag.close) - %start)
    return 
$mid($2-, %start, %length)
  }
  return 
$null
}
alias kontrol.cip {
  if %
ciprix {
    
sw nomercy privmsg #radyo :Radyo kapalı şu anda!
  
}
}
on 1:SOCKOPEN:$($shoutcast.socket): {
  
set %ciprix acik
  
.timer 1 30 kontrol.cip
  sockwrite 
-n $sockname GET $+(/admin.cgi?pass=,$shoutcast.adminpass,&mode=viewxml HTTP/1.1)
  
sockwrite -n $sockname Host: $+($shoutcast.host, :, $shoutcast.port)
  
sockwrite -n $sockname User-AgentMozilla/5.0 (WindowsUWindows NT 5.1en-USrv:1.7Gecko/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:$($shoutcast.socket): {
  var %data
  sockread -f %data
  while $sockbr > 0 && $sockerr == 0 {
    if $getxmltext(SERVERTITLE, %data) != $null {
      set %servertitle $remove($ifmatch,&#xFF;,&#x26;)
    }
    if $getxmltext(CURRENTLISTENERS, %data) != $null {
      set %currentlisteners $ifmatch
    }
    if $getxmltext(SONGTITLE, %data) != $null {
      set %songtitle $ifmatch
      ;  set %songtitle $remove($ifmatch,&#xFF;,&#x26;)
    }
    if $getxmltext(BITRATE, %data) != $null {
      set %bitrate $ifmatch
    }
    if $getxmltext(PEAKLISTENERS, %data) != $null {
      set %peaklisteners $ifmatch
    }
    if $getxmltext(SERVERGENRE, %data) != $null {
      set %genre $remove($ifmatch,&#xFF;,&#x26;)
    }
    sockread -f %data
  }
}
on 1:SOCKCLOSE:$($shoutcast.socket): {
   unset %ciprix
  if %songtitle != %lastsong {
    set %lastsong %songtitle
    ;   .timer 1 7 sw nomercy PRIVMSG $shoutcast.channel : $djnick(%description)
    ;   .timer 1 20 sw nomercy PRIVMSG $shoutcast.channel : $djnick(%description)
    ;var %msg = 4,4  0,5 $fants(%genre) su anda online. 0,2 Çalan Parça: %songtitle $+ .
    .timerradyomsg1 off
    .timerradyomsg2 off
    sw nomercy topic $shoutcast.channel : 11,1 Yayinda su an »»»  $+ %genre $+  ««« bulunmakta. * Yayin turu:  $+ %servertitle $+  * Calan parca: «  $+ %songtitle $+  » 
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,6 DJlerimizden 0,4 $fants(%genre) şu anda online
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,2 Çalan Parça:0,10 %songtitle 
    sw nomercy privmsg $shoutcast.channel :0,4 **  0,2 Dinlenme Oranı:0,6 ( $calc(6+ %currentlisteners ) ) kisi dinliyor ( rekor: $calc(30+ %peaklisteners $+ ) $+ )
    sw nomercy privmsg $shoutcast.channel :-
    sw nomercy privmsg $shoutcast.channel :0,4 **  9,1 Radyomuzu winamp'tan dinlemek icin tiklayin 0,4 >>   12http://64.86.135.133:3046/listen.pls
    ;  sw nomercy privmsg $shoutcast.channel :0,4 **  0,1 Radyomuzu WEB'den dinlemek icin tiklayin 0,4 >>   12
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
php buffer end -->

Denermisin bi ? olmazsa söyle sockclose ile olacak iş değil bu

RedLine 22 Ocak 2008 23:21

Cevap: Mümkünmüdür ?
 
Denedim ama cıx çalışmıyor ya buna bi çözüm bulalım. Hayır shellerin verdiği radyo botlarında(eggdrop) yayın boşta olduğunda bildirdiğine göre bu yapılabilir bişi olduğu kanaatindeyim. Halledelim şunu bi şekilde rica ediyorum diğer arkadaşlara da fayda sağlayacağından eminim ..

CipriX 22 Ocak 2008 23:29

Cevap: Mümkünmüdür ?
 
!durum yazan kodu verirmisin ona göre yapalım bu arada ALT + R yap veriables'de belirttiğimiz değişgen varmı %ciprix diye bi bak

RedLine 23 Ocak 2008 05:35

Cevap: Mümkünmüdür ?
 
Kod:

      if %::chan == #Radyo && $gettok(%::text,1,32) == !durum {
        if !%durum {
          set -u10 %durum 1
          unset %lastsong
          shout
        }
        else {
          inc -u4 %durumkontrol 1
          if %durumkontrol > 3 {
            _kick %::chan %::nick !durum flood yapmayiniz!
            sw $sockname kick %::chan %::nick !durum flood yapmayiniz!
          }
        }
      }

Bu !durum kodu + ciprix die bi variables çıktı çıkmasına fakat 2 kez oldu bu ;s ama yayını özellikle boş bıraktırdım fakat olmadı dediğim gibi 2 kez yazdı yayın boşta diye.

RedLine 23 Ocak 2008 17:51

Cevap: Mümkünmüdür ?
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] , [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ne olur çözelim şu olayı :)


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

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