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/)
-   -   Beşiktaş kanalı için bot (https://www.ircforumlari.net/mirc-scripting-sorunlari/484712-besiktas-kanali-icin-bot.html)

saywhat 02 Haziran 2012 02:22

Cevap: Beşiktaş kanalı için bot
 
linki eklerken açılan penceredeki tüm kutulara bilgi girmelisiniz yukarda kodun altındaki açıklamayı okuyun ve resme bi bakın you must fill all the boxes tüm kutuları doldurmalısınız demek. sadece linki değil kanal adını - gecikme süresini ve bir başlık-isim girmelisiniz eklediğiniz rss linki için...

RSS feed linkleri eklemelisiniz normal düz URL değil RSS * [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Cpu 07 Haziran 2012 11:44

Cevap: Beşiktaş kanalı için bot
 
İyi ama bot admin değil ve site adreslerini yazamaz ben sadece konuları yazmasını istiyordum bilgi olarak

saywhat 07 Haziran 2012 13:41

Cevap: Beşiktaş kanalı için bot
 
bunu söylemek için sanki biraz geç oldu dimi?
aşağıdaki kodu ekleyin diğerinin yerine linkleri değil sadece başlıkları atacak..
Kod:

alias RSS1.0 {
  dialog -m RSSFeed1 RSSFeed1
}
dialog RSSFeed1 {
  title "RSS Feed"
  size -1 -1 104 136
  option dbu
  list 1, 8 16 90 82
  button "ekle", 2, 8 104 29 12
  button "sil", 3, 40 104 29 12
  button "düzenle", 4, 72 104 29 12
  button "kapat", 5, 8 120 93 12, ok cancel
  text "link ekle/düzenle/sil", 6, 8 8 89 8, center
}
dialog RSSFeed2 {
  title "RSS Feed ekle/düzenle"
  size -1 -1 104 104
  option dbu
  edit "", 1, 8 16 42 10, autohs
  text "isim", 2, 8 8 41 8, center
  edit "", 3, 8 40 90 10, autohs
  edit "", 4, 56 16 42 10, autohs
  text "süre aralığı", 5, 56 8 41 8, center
  text "RSS link girin - örnek [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]", 6, 8 32 89 8, center
  edit "", 7, 8 64 90 10, autohs
  text "kanal/ları girin  arada/boşluk", 8, 8 56 89 8
  button "tamam", 9, 8 80 37 12, ok
  button "iptal", 10, 60 80 37 12, cancel
}
On *:dialog:RSSFeed1:init:*: {
  didtok RSSFeed1 1 32 %Global.Feed.List
}
On *:dialog:RSSFeed2:init:*: {
  did -a RSSFeed2 1 %Feed.Name
  did -a RSSFeed2 3 %Feed.Link
  did -a RSSFeed2 4 %Feed.Delay
  did -a RSSFeed2 7 %Feed.Chans
}
On *:dialog:RSSFeed1:Sclick:*: {
  if ($did == 2) {
    dialog -x RSSFeed1
    dialog -m RSSFeed2 RSSFeed2
  }
  if ($did == 3) {
    if ($did(1).sel) {
      .timerRSS [ $+ [ $gettok($hget(rssfeed,$did(1).seltext),1,32) ]  ] off
      hdel  RSSFeed $did(1).seltext
      did -d RSSFeed1 1 $did(1).sel
      set %Global.Feed.List $didtok(RSSFeed1,1,32)
      else { return }
    }
  }
  if ($did == 4) {
    if ($did(1).sel) {
      set %Feed.Name $did(1).seltext
      set %Feed.Link $gettok($hget(rssfeed,$did(1).seltext),1,32)
      set %Feed.Chans $gettok($hget(rssfeed,$did(1).seltext),2,32)
      set %Feed.Delay $gettok($hget(rssfeed,$did(1).seltext),3,32)
      dialog -x RSSFeed1
      dialog -m RSSFeed2 RSSFeed2
    }
    else { halt }
  }
}
On *:dialog:RSSFeed2:Sclick:*: {
  if ($did == 9) {
    if ($hget(rssfeed,%Feed.Name)) {
      .timerRSS [ $+ [ $gettok($hget(rssfeed,%Feed.Name),1,32) ]  ] off     
      hdel RSSFeed %Feed.Name
      set %Global.Feed.List $remove(%Global.Feed.List,$replace(%Feed.Name,$chr(32),-))
    }
    if (%Feed.Name.Temp) {
      if ($hget(rssfeed,$replace(%Feed.Name.Temp,$chr(32),-))) {
        .timerRSS [ $+ [ $gettok($hget(rssfeed,%Feed.Name.Temp),1,32) ]  ] off     
        hdel RSSFeed %Feed.Name.Temp
        set %Global.Feed.List $remove(%Global.Feed.List,$replace(%Feed.Name.Temp,$chr(32),-))
      }
      set %Feed.Name %Feed.Name.Temp
    }
    if (%Feed.Link.Temp) { set %Feed.Link %Feed.Link.Temp }
    if (%Feed.Delay.Temp) { set %Feed.Delay %Feed.Delay.Temp }
    if (%Feed.Chans.Temp) { set %Feed.Chans %Feed.Chans.Temp }
    if (!%Feed.Name) || (!%Feed.Link) || (!%Feed.Delay) || (!%Feed.Chans) { echo -a tüm kutuları doldurmalısınız.. | dialog RSSFeed2 | halt }
    unset *.Temp
    if (!$hget(RSSFeed)) { hmake RSSFeed 5 }
    hadd RSSFeed $replace(%Feed.Name,$chr(32),-) $remove(%Feed.Link,$chr(32)) $replace(%Feed.Chans,$chr(32),$chr(44)) $remove(%Feed.Delay,$chr(32))
    RSS.Feed $replace(%Feed.Name,$chr(32),-) $remove(%Feed.Link,$chr(32)) $replace(%Feed.Chans,$chr(32),$chr(44)) $remove(%Feed.Delay,$chr(32))
  set %Global.Feed.List %Global.Feed.List $replace(%Feed.Name,$chr(32),-) }
  unset %Feed.*
  dialog -m RSSFeed1 RSSFeed1
}
if ($did == 10) { unset *.Temp %Feed.* | dialog -m RSSFeed1 RSSFeed1 }
On *:dialog:RSSFeed2:edit:*: {
  if ($did == 1) { set %Feed.Name.Temp $did(RSSFeed2,1) }
  if ($did == 3) { set %Feed.Link.Temp $did(RSSFeed2,3) }
  if ($did == 4) { set %Feed.Delay.Temp $did(RSSFeed2,4) }
  if ($did == 7) { set %Feed.Chans.Temp $did(RSSFeed2,7) }
}
alias -l RSS.timeout {
  RSS.clear
}
alias -l RSS.clear {
  unset %RSS*
  sockclose RSS
  .timer-RSS off
  halt
}
On *:Text:!Rss.Status:#: {
  var %timer.num = $timer(0),%timer.timer = 1
  while (%timer.num) {
    if ($left($timer(%timer.num),3) == rss) {
      .timer 1 %timer.timer .msg $chan 07 $timer(%timer.num) = 04 $timer(%timer.num).com 06Next Check in09 $timer(%timer.num).secs 07Seconds
    }
    inc %timer.timer
    dec %timer.num
  }
}
alias -l RSS.Status {
  var %timer.num = $timer(0)
  while (%timer.num) {
    if ($left($timer(%timer.num),3) == rss) { echo -at 07 $timer(%timer.num) = 04 $timer(%timer.num).com }
    dec %timer.num
  }
}
alias RSS.Feed {
  RSS $1 $2 $remove($3,$chr(32))
  if ($4) && ($4 >= 120) { .timerRSS $+ $2 -o 1 $4 RSS.Feed $1 $2 $3 $4 }
  if (!$4) || ($4 < 120) { .timerRSS $+ $2 -o 1 120 RSS.Feed $1 $2 $3 }
}
alias -l RSS {
  set %RSS.chans $3
  set %RSS.name $1
  sockclose RSS
  set %RSSsite $gettok($remove($2,[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
  set %RSSurl $remove($2,[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...])
  if (!$hget(%RSSsite)) { hmake %RSSsite 10 }
  set %RSS.Count 1
  set %RSS.Max 4
  sockopen RSS %RSSsite 80
  .timer-RSS 1 20 RSS.timeout
}
on *:sockopen:RSS: {
  sockwrite -nt $sockname GET %RSSurl HTTP/1.0
  sockwrite -n $sockname User-Agent: Opera 9.6
  sockwrite -n $sockname Host: %RSSsite $+ $CRLF $+ $CRLF
}
on *:sockread:RSS: {
  if ($sockerr > 0) { echo -at bir hata oluştu... >RSS1.0<>Sock Error< |  RSS.clear }
  else {
    var %RSSvar |  sockread %RSSvar
    if (<entry> isin %RSSvar) { set %RSS.Start on }
    if (</entry> isin %RSSvar) || (</item> isin %RSSvar) {
      set %RSS.Dup Off
      if ($hfind(%RSSsite,$right($remove(%RSS.title,$chr(32)),70))) { set %RSS.Dup ON }
      if (%RSS.Dup == Off) && (%RSS.Count <= %RSS.Max) {
        set %RSS.Output 1
        while $gettok(%RSS.Chans,%RSS.Output,44) {
          if ($gettok(%RSS.Chans,%RSS.Output,44) ischan) {
            .msg $gettok(%RSS.Chans,%RSS.Output,44) 04 $+ %RSS.Name 07 $+ $remove(%RSS.Title,&amp;,&quot;,&gt;)
          }
          inc %RSS.Output
        }
        inc %RSS.Count
        ;echo -a $replace(%RSS.Link,$chr(32),$chr(37) $+ 20)
      }
      hadd %RSSsite $right($remove(%RSS.title,$chr(32)),70) %RSS.Link $+ $chr(7) $+ %RSS.Title $+ $chr(7) $+ %RSS.Date $+ $chr(7)
    }
    if (<title> isin %RSSvar) {
      set %RSS.Title $gettok($replace(%RSSvar,<title>,$chr(7),</title>,$chr(7)),2,7)
    }
    if ($left(%RSSvar,7) == <title>) {
      set %RSS.Title $remove(%RSSvar,<title>,</title>)
    }
    if (<link href=" isin %RSSvar) {
      set %RSS.Link $nospace($remove(%RSSvar,<link href="," />))
    }
    if (<link> isin %RSSvar) {
      set %RSS.Link $gettok($replace(%RSSvar,<link>,$chr(7),</link>,$chr(7)),2,7)
    }
    if ($left(%RSSvar,6) == <link>) {
      set %RSS.Link $remove(%RSSvar,<link>,</link>)
    }
    if  (<updated> isin %RSSvar) {
      set %RSS.Date $gettok($replace(%RSSvar,<updated>,$chr(7),</updated>,$chr(7)),2,7)
    }
    if ($left(%RSSvar,9) == <updated>) {
      set %RSS.Date $remove(%RSSvar,<updated>,</updated>)
    }
    if (<pubdate> isin %RSSvar) {
      set %RSS.Date $gettok($replace(%RSSvar,<pubdate>,$chr(7),</pubdate>,$chr(7)),2,7)
    }
    if ($left(%RSSvar,9) == <pubdate>) {
      set %RSS.Date $remove(%RSSvar,<pubdate>,</pubdate>)
    }
    if (</feed> isin %RSSvar) || (</rss> isin %RSSvar) || (</channel> isin %RSSvar) { RSS.Clear }
  }
}
alias -l RSS.StartUp {
  var %num = $hget(rssfeed,0).item, %delay = 5
  while (%num) {
    .timer 1 %delay RSS.Feed $hget(rssfeed,%num).item $gettok($hget(rssfeed,%num).data,1,32) $gettok($hget(rssfeed,%num).data,2,32) $gettok($hget(rssfeed,%num).data,3,32)
    inc %delay 7
    dec %num
  }
}
alias -l flink {
  var %find.link = $1-,%found.link
  while ($left(%find.link,4) != http) && ($len(%find.link) > 8) {
    %found.link = $right(%find.link,$calc($len(%find.link) - 1))
  }
  return %found.link
}
alias -l nospace {
  var %space.check = $1-
  while ($left(%space.check,1) == $chr(32)) { %space.check = $right(%space.check,$calc($len(%space.check) - 1)) }
  while ($right(%space.check,1) == $chr(32)) { %space.check = $left(%space.check,$calc($len(%space.check) -1)) }
  return $replace(%space.check,&amp;,&)
}
alias -l httpstrip {
  var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
  return %x
}
On *:Connect: {
  if (!$hget(RSSFeed)) { hmake RSSFeed 5 }
  RSS.StartUp
}
On *:Start: {
  if (!$hget(RSSFeed)) { hmake RSSFeed 5 }
  if ($isfile(RSSFeed.hsh)) { hload -s RSSFeed RSSFeed.hsh }
}
On *:Exit: {
  if ($hget(RSSFeed)) { hsave RSSFeed RSSFeed.hsh }
  hfree RSSFeed
}
On *:Disconnect: {
  if ($hget(RSSFeed)) { hsave RSSFeed RSSFeed.hsh }
}
On *:Unload: {
  hfree RSSFeed
}
menu * {
  -
  .RSSFeed1.0
  ..Ayarlar:RSS1.0
  ..Liste:RSS.Status
  - 
}


saywhat 07 Haziran 2012 17:35

Cevap: Beşiktaş kanalı için bot
 
buyrun size alternatif bir kod yukardakinden çok daha gelişmiş çok daha fazla ayar içeren bir kod :)

Hollandalı biri tarafından yazıldığı için kendi dilinde ve İngilizce seçenekli olarak iki dilde yazılmış ben İngilizce olan kısımlarını olduğu kadar kendimce çevirdim.en azından sizin kullanacağınız kısımlar artık Türkçe olacak.

kodu yükleme.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

scripts editör /remote kımında alt+r yeni boş bir sayfaya kodu kopyala-yapıştır yapın tamam deyip kapatın.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

yeni bir dosya vs yüklenecek yüklensin mi diye soran bir küçük pencere çıkacak evet deyip onay verin.

kod yüklendiğinde küçük bir pencere açılacak size hangi dili seçmek istediğinizi soracak dediğim gibi kod iki dilde yazılmış.Türkçe seçin.

mirc üstünde kanal penceresi üstünde sağ tıklayın açılan menüde newstracker göreceksiniz oku üstüne getirin ve yanda açılan newstracker menüsünden ayarları tıklayın bir pencere açılacak:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bu açılan pencerede genel ayarlar bölümü açılacaktır. newstracker kullanıyomusunuz evet işaretli olmalı birde burda yapmanız gerek ayar tüm kanalar için değil herbir kanal için ayarla seçili olsun gerisi olduğu gibi kalabilir.

yan bölüme Besleme ayarları bölümüne geçin.burda öntanımlı ayar olarak kodun yazarı tarafından CNN ve BBC RSS besleme linkleri eklenmiş bunların olması bir bakıma iyi örnek oluşturması açısından nasıl eklenmesi gerektiğini bunlardan kıyaslayarak görebilirsiniz.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


bunlardan birine tıklarsanız yandaki BBC yada CNN yazan kısma bunlar için öntanımlı olarak nasıl ayarlanmış olduklarını göreceksiniz .çıkmak için ayarları sakla butonuna tıklayın boş pencerede beslemeyi kullan -> evet seçili olmalı

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

isim kısmına bir başlık isim beliirtin eklenecek besleme linki için.
URL RSS kısmına besleme alınacak linki girin [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] gibi...
her bir besleme bilgisi çekmesi için saniye cinsinden süre belirtmelisiniz 360 saniye ideal bir süre aralığıdır bu süreyi fazla kısa tutmak istemezsiniz zaten 2 dakika 120 saniyeden daha kısa ayarlamaya çalışırsanız hata alırsınız.

konu yazma kısmı konuyu kanala postalama şeklini formatını ayarlamak için örnek 4Kartal &title - 12&link 4Kartal burda title konu başlıklarını link konunun olduğu URL adresini kanala göstermesini sağlar bunları renk kodlarıyla dilediğiniz şekilde renklendirebilirsiniz bu kısım üzerinde..

siz linkleri atmasın istiyorsanız besleme-adı &title -  besleme-adı ...gibi bunu dilediğiniz şekilde renklendirecek kodları ekleyerek kullanabilirsiniz.yani link postalamasın istiyorsanız ayarlardaki bu konu yazma kısmındaki kutudan &link yazan kısmı kaldırıp sadece &title kısmını kullanarak konu başlıklarını çekmesini sağlayabilirsiniz.

en alt kısımdaki ayar kutusu bu beslemenin hangi kanallar üstünde çalışmasını istiyorsanız onu/onları girin birden fazla kanal girecekseniz aralarına virgül koyarak ekleyin #kanala,#kanalb gibi.. boş bırakırsanız tüm kanallara postalama gibi bir durumla karşılaşabilirsiniz.ayarlar tamamlandığında &quot;yeni&quot; yazan butona tıklayın yeni eklediğiniz besleme ismi yandaki besleme adları kısmında görenecek-eklenecek.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

daha önceden eklenmiş bir beslemenin ayarlarını değiştirmek için o besleme adları kısmında o besleme adını seçin ayarlar gelecektir dilediğiniz değişikliği yaptıktan sonra ayarları sakla butonuna tıklamanız yeterli

konu yazma penceresine yaptığınız ayarlarla konunun kanala ne şekil yansıyacağını kontrol etmek için o kutunun sağında yer alan &quot;örnek&quot; yazısına tıklayın sizin göreceğiniz şekilde aktif pencerenizde beslemelerin kanala bu ayarla nasıl postalanacağını -görüneceğini gösterecek.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

URL RSS besleme yazan kısma eklediğiniz rss linkinin çalışıp çalışmadığını bağlantı sağlanıp bilgi çekilip çekilemediğini kontrol etmek için besleme linkini ekledikten sonra o kutunun sağındaki &quot;kontrol URL&quot; butonuna tıklayın.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bu eklediğiniz besleme linkinden bilgi alınıp alınamadığını test edecektir.

herşey tamam olduğunda pencereyi kapatıp.kanalllarınızın altında açılacak @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker penceresinde eklenen besleme linklerinden çekilen haberleri görebilirsiniz belli aralıklarla belirlenen kanala/lara bunlar içinden haberleri postalayacaktır.

kod aşağıda.

Kod:

;Version 3.5 of news-tracker by snabbi
 
;-----------------------events--------------------------------
 
;on startup the feeds have to be initialized
on *:start: { newsfirststart | news_reset_messages_to_default }
 
;display info on load
on *:load: {
  if ( $isfile(newstracker-setting.hsh) ) {
    if ( $hget(newstracker-setting) ) { .hfree newstracker-setting }
    .hmake newstracker-setting 100 | .hload newstracker-setting newstracker-setting.hsh
    news_reset_messages_to_default
    news_help load
  }
  else {
    news_resettodefault
    news_help
    dialog -m newstracker newstracker
  }
  newsfirststart
}
on *:unload: {
  if ( $hget(newstracker-setting,lang) != NL ) {
    if ( $exists(newstracker-setting.hsh) ) { echo -s newstracker-setting.hsh dosyası istiyorsanız manuel olarak kaldırılabilir .eğer istemiyorsanız ayarlarınızı saklayın! }
    echo -s Newstracker başarıyla kaldırıldı.
  }
  if ( $hget(newstracker-setting,lang) != EN ) {
    if ( $exists(newstracker-setting.hsh) ) { echo -s Het bestand newstracker-setting.hsh kan met de hand verwijderd worden wanneer je je instellingen niet wilt bewaren }
    echo -s Newstracker is uit je scripts verwijdert.
  }
  if ( $hget(newstracker) ) { .hfree newstracker }
  if ( $hget(newstracker-setting) ) { .hfree newstracker-setting }
  if ( $window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker) ) { .window -c @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
  .timernews* off
  unset %trackernews*
  unset %tell.room
  unset %newssaid
}
;-----------------------menus--------------------------------
menu @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker {
  .$iif($hget(newstracker-setting,window),$newstracker-return-text(menu5),):hadd newstracker-setting window 0 | newstracker-save-settings | window -nh @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$iif(!$hget(newstracker-setting,window),$newstracker-return-text(menu6),):hadd newstracker-setting window 1 | newstracker-save-settings | window -w3n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$newstracker-return-text(menu11):clear
}
 
menu menubar,channel {
  $newstrackerversion
  .$iif($hget(newstracker-setting,0).item == 0,Reset to default/Reset naar beginwaarden):news_resettodefault
  .$iif(!$hget(newstracker-setting,off),$newstracker-return-text(menu9)): hadd -m newstracker-setting off 1
  .$iif($hget(newstracker-setting,off),$newstracker-return-text(menu10)): hadd -m newstracker-setting off 0
  .$iif($chan($active) && !$newschannels(isinall,$chan($active)),$newstracker-return-text(menu3)):newstracker-chans add $chan($active)
  .$iif($chan($active) && !$newschannels(isnotinany,$chan($active)),$newstracker-return-text(menu4)):newstracker-chans remove $chan($active)
  .$newstracker-return-text(menu13): news_help
  .-
  .$newstracker-return-text(menu1):dialog -m newstracker newstracker
  .- 
  .$iif($hget(newstracker-setting,window),$newstracker-return-text(menu5),):hadd newstracker-setting window 0 | newstracker-save-settings | window -nh @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$iif(!$hget(newstracker-setting,window),$newstracker-return-text(menu6),):hadd newstracker-setting window 1 | newstracker-save-settings | window -w3n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$newstracker-return-text(menu12):hfree newstracker | news_reset_messages_to_default
  .$newstracker-return-text(menu2):dialog -m newstracker_lang newstracker_lang
  .$newstracker-return-text(menu7):var %i = $input($newstracker-return-text(menu8),y) | if ( %i ) { news_resettodefault }
}
 
;-----------------------dialogs-------------------------------
 
dialog newstracker_lang {
  title &quot;NewsTracker © snabbi&quot;
  size -1 -1 110 50
  option dbu
  text &quot;hangi dili tercih ediyorsunuz? / select your language&quot;,10,10 10 90 14
  button &quot;Türkçe&quot;,11,10 30 45 15
  button &quot;ingilizce&quot;,12,60 30 45 15
}
on *:dialog:newstracker_lang:sclick:11: { hadd -m newstracker-setting lang EN | dialog -c newstracker_lang }
on *:dialog:newstracker_lang:sclick:12: { hadd -m newstracker-setting lang NL | dialog -c newstracker_lang }
 
dialog newstracker {
  size -1 -1 320 153
  option dbu
 
  tab $newstracker-return-text(dialog150), 150, 5 1 310 125
  text $newstracker-return-text(dialog2),2,10 20 80 7, tab150
  radio $newstracker-return-text(dialog3),3,135 20 20 10,group, tab150
  radio $newstracker-return-text(dialog4),4,155 20 20 10, tab150
  text $newstracker-return-text(dialog5),5,10 35 120 7, tab150
  edit &quot;&quot;,6,135 34 40 10,autohs, tab150
  text $newstracker-return-text(dialog7),7,178 35 40 10, tab150
  text $newstracker-return-text(dialog8),8,10 48 120 7, tab150
  edit &quot;&quot;,9,135 47 40 10,autohs, tab150
  text $newstracker-return-text(dialog10),10,179 48 40 7, tab150
  text $newstracker-return-text(dialog11),11,10 61 80 7, tab150
  radio $newstracker-return-text(dialog12),12,135 61 70 10,group, tab150
  radio $newstracker-return-text(dialog13),13,135 71 80 10, tab150
 
  tab $newstracker-return-text(dialog151), 151, 5 1 310 125
  text $newstracker-return-text(dialog51),51,10 22 70 7, tab151
  list 52,9 31 72 94,hsbar vsbar sort, tab151
  text $newstracker-return-text(dialog64),64,100 31 50 7, tab151
  radio $newstracker-return-text(dialog65),65,160 31 20 10,group, tab151
  radio $newstracker-return-text(dialog66),66,185 31 20 10, tab151
  text $newstracker-return-text(dialog53),53,100 43 50 7, tab151
  edit &quot;&quot;,54,160 42 110 10,autohs, tab151
  text $newstracker-return-text(dialog55),55,100 55 50 7, tab151
  button $newstracker-return-text(dialog88),88,273 55 37 8, tab151
  edit &quot;&quot;,56,160 54 110 10,autohs, tab151
  text $newstracker-return-text(dialog57),57,100 67 55 7, tab151
  edit &quot;&quot;,58,160 66 110 10,autohs, tab151
  text $newstracker-return-text(dialog59),59,275 67 30 7, tab151
  text $newstracker-return-text(dialog60),60,100 79 50 7, tab151
  edit &quot;&quot;,61,160 78 110 10,autohs, tab151
  button $newstracker-return-text(dialog89),89,273 78 37 8, tab151
  text $newstracker-return-text(dialog62),62,100 91 50 7, tab151
  edit &quot;&quot;,63,160 90 110 10,autohs, tab151
  button $newstracker-return-text(dialog87),87,273 91 37 8, tab151
  button $newstracker-return-text(dialog80),80,100 105 50 15, tab151
  button $newstracker-return-text(dialog81),81,160 105 50 15, tab151
  button $newstracker-return-text(dialog82),82,220 105 50 15, tab151
 
  button $newstracker-return-text(dialog100),100,120 131 40 15,ok
}
 
on *:dialog:newstracker:init:*: {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %settings = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    did -a $dname 52 $gettok(%settings,1,32) | dec %i
  } | did -b $dname 80,82
 
  did -a $dname 9 $iif($hget(newstracker-setting,interval),$ifmatch,30)
  did -a $dname 6 $iif($hget(newstracker-setting,max),$ifmatch,5)
  did -c $dname $iif($hget(newstracker-setting,off),4,3)
  did -c $dname $iif($hget(newstracker-setting,msg) == all,13,12)
}
on *:dialog:newstracker:sclick:*: { goto $did
  :3 | hadd newstracker-setting off 0 | halt
  :4 | hadd newstracker-setting off 1 | halt
  :12 | hadd newstracker-setting msg chans | halt
  :13 | hadd newstracker-setting msg all | halt
  :52 | if ( $did($dname,52).seltext != $null ) {
    var %options = $hget(newstracker-setting,trackersetting. [ $+ [ $v1 ] ])
    did -ra $dname 54 $v1 | did -ra $dname 56 $gettok(%options,2,32)
    did -ra $dname 58 $gettok(%options,3,32)
    did -ri $dname 61 1 $hget(newstracker-setting,newsbanner. [ $+ [ $v1 ] ])
    did -ri $dname 63 1 $gettok(%options,5-,32)
    did -u $dname 65,66 | did -c $dname $iif($gettok(%options,4,32),65,66)
    did -e $dname 80,82
  } | halt
  :80 | remove-newstracker
  did -d $dname 52 $did($dname,52,1).sel | did -r $dname 54,56,58,61,63
  did -b $dname 82,80
  halt
  :82 | :81 | var %name = $replace($did($dname,54),$chr(32),_)
  if ( (!$did($dname,52).sel && $did != 81) || %name == $null || $did($dname,58) == $null || $did($dname,56) == $null ) {
    var %i = $input($newstracker-return-text(error1),o,Error) | halt
  }
  if ( ( $did == 81 && $hget(newstracker-setting,trackersetting. [ $+ [ %name ] ]) ) || $&
    ( $did == 82 && $did($dname,52).seltext != %name ) && $hget(newstracker-setting,trackersetting. [ $+ [ %name ] ]) ) {
    var %i = $input($newstracker-return-text(error2),o,Error) | halt
  }
  if ( $did($dname,58) !isnum || $did($dname,58) < 120 ) { var %i = $input($newstracker-return-text(error3),o) | halt }
  if ( $did == 82 ) { remove-newstracker } | did -b $dname 82,80
  hadd newstracker-setting newsbanner. [ $+ [ %name ] ] $iif($did($dname,61),$v1,&title - 12&link)
  var %reg = /((?:,|\s)+)/g | var %rooms = $regsubex($did($dname,63),%reg,$chr(44)) | var %i = 1
  while ( %i <= $numtok(%rooms,44) ) {
    var %room = $addtok(%room,$iif($+($chr(35),*) iswm $gettok(%rooms,%i,44),$v2,$+($chr(35),$v2)),44)
    inc %i
  }
  hadd newstracker-setting trackersetting. [ $+ [ %name ] ] %name $did($dname,56) $did($dname,58) $iif($did(65).state,1,0) %room
  if ( $did == 81 ) { checknews %name echo }
  if ( $did == 82 ) { did -d $dname 52 $did($dname,52,1).sel }
  did -a $dname 52 %name | did -r $dname 54,56,58,61,63 | did -u $dname 65,66,52 | halt
  :89 | if ( $did(61) ) { echo -a ---------- | echo -a $did(61) | echo -a ---------- } | halt
  :88 | newstracker_check_url $did(56) | halt
  :65 | :66 | if ( !$did($dname,52).sel ) { halt } | did -e $dname 82 | halt
  :87 | if ( $chan($active) == $window($active) ) {
    did -ra $dname 63 $addtok($did($dname,63),$chan($active),44)
    if ( $did == 6 || $did == 9 || !$did($dname,52).sel ) { return }
    did -e $dname 82
  }
  halt
  :100 | hadd newstracker-setting interval $iif($did(9),$ifmatch,30)
  hadd newstracker-setting max $iif($did(6),$ifmatch,5)
  newstracker-save-settings
  dialog -x $dname | newstracker-save-settings | news_start
  :0 | :150 | :151
}
 
on *:dialog:newstracker:edit:*: {
  if ( $did == 6 || $did == 9 || !$did($dname,52).sel ) { halt }
  did -e $dname 82
}
 
;-----------------------aliases-------------------------------
alias newstrackerversion { return Newstracker 3.5 }
alias news_help {
  .timer 1 1 echo -s -----------------------
  .timer 1 1 echo -s $newstracker-return-text(welkom1)
  .timer 1 4 echo -s $newstracker-return-text(welkom2)
  .timer 1 7 echo -s $newstracker-return-text(welkom3)
  .timer 1 10 echo -s $newstracker-return-text(welkom4)
  .timer 1 13 echo -s $newstracker-return-text(welkom5)
  .timer 1 16 echo -s $newstracker-return-text(welkom6)
  if ( $1 == load ) { .timer 1 19 echo -s $newstracker-return-text(welkom7) }
  .timer 1 22 echo -a -----------------------
}
alias newstracker-save-settings { .hsave -o newstracker-setting newstracker-setting.hsh }
 
;returns the text in the language what was choosen $1 = number for event
alias newstracker-return-text { return $hget(newstracker,$+($hget(newstracker-setting,lang),-,$1)) }
 
;$1 = isinall of isnotinany $2 = channame
alias newschannels {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %name = $hfind(newstracker-setting,tracker*,%i,w)
    var %settings = $hget(newstracker-setting,%name)
    if ( $istok($gettok(%settings,5,32),$2,44) ) {
      if ( $1 == isnotinany ) { return $false }
    }
    else {
      if ( $1 == isinall ) { return $false }
    }
    dec %i
  }
  return $true
}
alias news_reset_messages_to_default {
  if ( !$hget(newstracker) ) { .hmake newstracker 100 }
  hadd newstracker NL-welkom1 U heeft zojuist news-tracker geinstalleerd op uw mIRC versie © snabbi
  hadd newstracker NL-welkom2 Wanneer u met de rechter muistoets in de kamer klikt ziet u een menu verschijnen &quot;newstracker 3.5&quot;. In dit menu kunt u via de instellingen het script aanpassen.
  hadd newstracker NL-welkom3 Op het eerste tabblad ziet u de algemene instellingen. Deze instellingen hebben betrekking op alle feeds. Zo kunt u bijvoorbeeld het maximum aantal berichten ingeven dat er per feed gezegd mag worden. Hiermee voorkomt u dat u de kamer overspoelt met nieuwsberichten. Ook kunt u instellen dat er een bepaalde tijd is tussen het downloaden van 2 sites.
  hadd newstracker NL-welkom4 De laatste instelling van de algemene instellingen gaat over het versturen van berichten. Het heeft de voorkeur om de berichten in 1 keer naar alle kamers te sturen, echter niet elke server ondersteunt deze optie en daarom kunt u ook elk kanaal apart informeren.
  hadd newstracker NL-welkom5 Het tweede tabblad heet &quot;Feed instellingen&quot;. Hier kunt u per site de instellingen voor de feed wijzigen. U kunt hierbij denken aan hoe de tekst in de kamer getoond moet worden, hoe vaak het getoond moet worden, in welke kamers enzovoorts. Gebruik de knop &quot;check URL&quot; om uw opgegeven URL te controleren en om te zien welke commando's u kunt gebruiken in het veld &quot;Tekst banner&quot;
  hadd newstracker NL-welkom6 Speel maar gerust met het script. Heeft u nog vragen dan kunt u mij mailen op [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]. Vergeet overigens niet om kamers toe te voegen aan uw feeds, want anders ziet u ze niet!
  hadd newstracker NL-welkom7 Overigens zijn de instellingen van de vorige keer bewaard gebleven. Wilt u deze wissen klik dan met uw rechter muistoets in de kamer en kies voor Newstracker en vervolgens voor Reset naar beginwaarden
  hadd newstracker EN-welkom1 news-tracker başarıyla kuruldu
  hadd newstracker EN-welkom2 &quot;newstracker 3.5&quot; menüsü kanal penceresi üstüne sağ tıklayınca açılacaktır.ayarlarınızı bu menü üstünde yapabilirsiniz. ayarların üstüne tıklayarak açabilirsiniz. bu ayarlar iki bölümden oluşur ilk bölüm genel ayarlar içindir.bu ayarlar tüm beslemeler için geçerli olur.
  hadd newstracker EN-welkom3 örnek olarak her bir besleme için maksimum gönderme sayısını değiştirebilir durdurup bağlantı aralığı süresini yeniden ayarlayarak flood yapmasını önleyebilirsiniz.saniyedeki mesaj aralık süresini değiştirip kullanabilirsiniz..
  hadd newstracker EN-welkom4 penceredeki en alt kutudan konuları postalama şeklini değiştirebilirsiniz.öntanımlı olarak tüm kanallara mesaj gönderecek şekilde ayarlanmıştır.hernasılsa bu ayar her sunuda farklı çalışabilir. bu nedenle mesajların gönderileceği kanalları her bir link için ayrı olarak ayarlayabilirsiniz..
  hadd newstracker EN-welkom5 ikinci bölümün adı &quot;besleme ayarları&quot;.bu bölümde her bir RSS besleme linki için ayrı olarak frekans ve postalama metedu gibi ayarları yapabilme olanağı vardır.&quot;kontrol URL&quot; seçeneği size eklediğiniz linkten besleme alınıp alınamayacağını bağlantı sağlanıp sağlanamayacağını test etme şansı verecektir.bir text besleme linki ekleyin bir kanalınız için ve test edin..
  hadd newstracker EN-welkom6 herhangi bir öneri yada şikayetiniz varsa bana [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden e-mail ile bildirebilirsiniz lütfen beslemeleriniz için kanal eklemeyi unutmayın, aksi halde hiçbir besleme akışı göremezsiniz.
  hadd newstracker EN-welkom7 bu arada baştaki ayarlarınız yüklendi. ayarları sıfırlamak için kanal üstüne sağ tıklayın Newstracker seçin ve -> ayarları sıfırla <- üstüne tıklayın.
  hadd newstracker NL-dialog2 Tracker gebruiken? | hadd newstracker EN-dialog2 newstracker kullanıyormusunuz?
  hadd newstracker NL-dialog3 Ja | hadd newstracker EN-dialog3 evet
  hadd newstracker NL-dialog4 Nee | hadd newstracker EN-dialog4 hayır
  hadd newstracker NL-dialog5 Max aantal teksten per feed (flood bescherming)
  hadd newstracker EN-dialog5 her besleme için maksimum mesaj sayısı (flood koruma)
  hadd newstracker NL-dialog7 (0=oneindig) | hadd newstracker EN-dialog7 (0=sınırsız)
  hadd newstracker NL-dialog8 Minimum tijd tussen 2 indirmeler
  hadd newstracker EN-dialog8 iki besleme arasında geçen minumum bilgi çekme zaman aralığı
  hadd newstracker NL-dialog10 seconden | hadd newstracker EN-dialog10 saniye
  hadd newstracker EN-dialog11 kanala mesaj nasıl gönderilecek: | hadd newstracker EN-dialog12 her bir kanal için ayarla
  hadd newstracker EN-dialog13 tüm kanallara mesaj atma | hadd newstracker NL-dialog11 Berichten versturen:
  hadd newstracker NL-dialog12 elk kanaal apart | hadd newstracker NL-dialog13 als 1 bericht naar alle kanalen
  hadd newstracker NL-dialog51 Feed namen | hadd newstracker EN-dialog51 besleme adları
  hadd newstracker NL-dialog53 Naam tracker | hadd newstracker EN-dialog53 isim
  hadd newstracker NL-dialog55 URL RSS feed | hadd newstracker EN-dialog55 URL RSS besleme
  hadd newstracker NL-dialog57 Download feed elke | hadd newstracker EN-dialog57 herbir besleme için indirme
  hadd newstracker NL-dialog59 seconden | hadd newstracker EN-dialog59 saniye
  hadd newstracker NL-dialog60 Tekst banner | hadd newstracker EN-dialog60 konu yazma
  hadd newstracker NL-dialog62 Zeg op kamers | hadd newstracker EN-dialog62 odalarda söyle
  hadd newstracker NL-dialog64 Gebruik feed | hadd newstracker EN-dialog64 beslemeyi kullan
  hadd newstracker NL-dialog65 Ja | hadd newstracker EN-dialog65 evet
  hadd newstracker NL-dialog66 Nee | hadd newstracker EN-dialog66 hayır
  hadd newstracker NL-dialog80 &Verwijder Feed | hadd newstracker EN-dialog80 &kaldır
  hadd newstracker NL-dialog81 &Nieuwe Feed | hadd newstracker EN-dialog81 &yeni
  hadd newstracker NL-dialog82 Op&slaan | hadd newstracker EN-dialog82 &ayarları sakla
  hadd newstracker NL-dialog87 huidige kamer | hadd newstracker EN-dialog87 aktif kanal
  hadd newstracker NL-dialog88 check URL | hadd newstracker EN-dialog88 kontrol URL
  hadd newstracker NL-dialog89 voorbeeld | hadd newstracker EN-dialog89 örnek
  hadd newstracker NL-dialog100 &Oke | hadd newstracker EN-dialog100 &tamam
  hadd newstracker NL-dialog150 Algemene instellingen | hadd newstracker EN-dialog150 Genel ayarlar
  hadd newstracker NL-dialog151 Instellingen per feed | hadd newstracker EN-dialog151 Besleme ayarları
  hadd newstracker NL-error1 Sommige vereiste velden zijn leeg (kamers en banners zijn niet vereist). Een nieuwe feed voeg je toe via Nieuwe feed en anders gebruik je Opslaan
  hadd newstracker EN-error1 bazı kısımlar boş bırakıldı (kanallar ve postalama şekli zorunlu değil). yeni bir besleme linki eklemek için Yeni Besleme butonunu kullanın yada sakla'ya tıklayın.
  hadd newstracker NL-error2 Naam is niet uniek | hadd newstracker EN-hata2 bu isim zaten var
  hadd newstracker NL-error3 De tijd voor elke download moet minimaal 2 minuten zijn (=120 seconden)
  hadd newstracker EN-error3 iki besleme bilgi çekme süresi en az 2 dakika (=120 saniye) olarak ayarlanmalıdır.
  hadd newstracker NL-error4 Download mislukt van | hadd newstracker EN-hata4 haber beslemesi burdan çekilemiyor.
  hadd newstracker NL-error5 Fout tijdens het download van het nieuws. Site reageerde te traag:
  hadd newstracker EN-error5 haber çekilirken bir hata oluştu.bu site çok yavaş cevap veriyor.:
  hadd newstracker NL-error6 Fout tijdens het downloaden van de nieuwstracker. Zie de fout in het scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker of neem contact op met snabbi op [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  hadd newstracker EN-error6 newstracker'da hata. lütfen @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker penceresini sıfırlayın yada  [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden kod yazarıyla iletişim kurun.
  hadd newstracker NL-error7 Fout tijdens het parsen van | hadd newstracker EN-hata7 ayrıştmada hata oluştu
  hadd newstracker NL-error8 foutcode is: | hadd newstracker EN-hata8 mesaj:
 
  hadd newstracker NL-error9 Geef een URL in het daarvoor bedoelde veld op.
  hadd newstracker EN-error9 geçerli bir URL girin.
  hadd newstracker NL-error10 Het script is nog bezig met het verwerken van uw vorige verzoek.
  hadd newstracker EN-error10 kod hala önceki isteğiniz üzerine çalışıyor.
  hadd newstracker NL-error11 De URL is in het verkeerde formaat.
  hadd newstracker EN-error11 yanlış bir URL adresi girdiniz:
  hadd newstracker NL-error12 verwacht:
  hadd newstracker EN-error12 bekleniyor:
  hadd newstracker NL-error13 Fout bij het downloaden van de site
  hadd newstracker EN-error13 siteden bilgi indirirken hata oluştu
 
  hadd newstracker NL-menu1 Instellingen
  hadd newstracker NL-menu2 Verander taal/dili değiştir
  hadd newstracker NL-menu3 Voeg kamer toe aan alle trackers
  hadd newstracker NL-menu4 Verwijder kamer van alle trackers
  hadd newstracker NL-menu5 Verberg scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  hadd newstracker NL-menu6 Toon scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  hadd newstracker NL-menu7 Reset naar beginwaarden
  hadd newstracker NL-menu8 Weet u zeker dat u de huidige instellingen wilt wissen
  hadd newstracker NL-menu9 Schakel script uit
  hadd newstracker NL-menu10 Schakel script in
  hadd newstracker NL-menu11 Leeg maken
  hadd newstracker NL-menu12 Wis berichtgeschiedenis
  hadd newstracker NL-menu13 Help
 
  hadd newstracker EN-menu1 Ayarlar
  hadd newstracker EN-menu2 dili değiştir/Verander taal
  hadd newstracker EN-menu3 kanalı tüm beslemeler için ekle
  hadd newstracker EN-menu4 kanalı tüm beslemelerden kaldır
  hadd newstracker EN-menu5 @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker pencereyi sakla
  hadd newstracker EN-menu6 @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker pencereyi göster
  hadd newstracker EN-menu7 ayarları sıfırla
  hadd newstracker EN-menu8 ayarları sıfırlamak istediğinize emin misiniz
  hadd newstracker EN-menu9 kodu kapa
  hadd newstracker EN-menu10 kodu aç
  hadd newstracker EN-menu11 temizle
  hadd newstracker EN-menu12 hafızayı temizle
  hadd newstracker EN-menu13 yardım
 
  hadd newstracker EN-test0 istenen dosyayı çekmek için 5 saniye bekleyiniz.
  hadd newstracker EN-test1 bu URL'den bilgi çekme isteği başarılı oldu:
  hadd newstracker EN-test2 indirilen dosya çözümlendi. haber beslemesi bazı etiketler içeriyor.bu etiketlerdeki bilgiler &tagname şeklinde eklenirse kanalda gösterilebilir .bu linkteki etiketler aşağıdaki örnekte olduğu gibi gösterilebilir ..
  hadd newstracker EN-test3 etiket 12
  hadd newstracker EN-test4 böyle yazılmalı 12
  hadd newstracker EN-test5 sıradaki mesaj gösterimi12
  hadd newstracker NL-test0 Wacht 5 seconden aub om het script in staat te stellen het gevraagde bestand te downloaden
  hadd newstracker NL-test1 Het script was in staat om een bestand te downloaden vanaf de opgegeven URL: 12
  hadd newstracker NL-test2 Het gedownloadde bestand is verwerkt. Het bevatte een aantal tags. De inhoud tussen deze tags kan je in de kamer(s) weergeven. Dit doe je door het in te geven als een &tag. De tags die gevonden zijn in het bestand worden hier onder weergegeven met een voorbeeld van een van de berichten.
  hadd newstracker NL-test3 De tag 12
  hadd newstracker NL-test4 moet ingevoerd worden als 12
  hadd newstracker NL-test5 om het volgende weer te geven 12
}
alias news_resettodefault {
  if ( $isfile(newstracker-setting.hsh) ) { .remove newstracker-setting.hsh }
  if ( $hget(newstracker-setting) ) { hfree newstracker-setting }
  if ( $hget(newstracker) ) { hfree newstracker }
  hadd -m newstracker-setting lang NL
  hadd newstracker-setting interval 30
  hadd newstracker-setting max 5 | hadd newstracker-setting window $true | hadd newstracker-setting off 0 | hadd newstracker-setting msg all
  news_reset_messages_to_default
  var %i = $dialog(newstracker_lang,newstracker_lang)
  newstracker_reset_to_default_2
  newstracker-save-settings
}
alias newstracker_reset_to_default_2 {
  if ( $hget(newstracker-setting,lang) == NL ) {
    var %trackers = AD,Fok,NOS-Nieuws,NOS-Sport,NuAlg,NuEco,NuInternet | var %names = AD,Fok!,NOS,NOS,Nu.nl,Nu.nl,Nu.nl
    var %info = [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...], $&
      [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  }
  else if ( $v1 == EN ) {
    var %trackers = BBC,CNN | var %names = BBC,CNN
    var %info = [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  }
  var %i = $numtok(%trackers,44)
  while ( %i ) {
    hadd newstracker-setting newsbanner. [ $+ [ $gettok(%trackers,%i,44) ] ] $+(4,$gettok(%names,%i,44), &title - 12&link 4,$gettok(%names,%i,44))
    hadd newstracker-setting trackersetting. [ $+ [ $gettok(%trackers,%i,44) ] ] $gettok(%trackers,%i,44) $gettok(%info,%i,44) 360 1
    dec %i
  }
  newstracker-save-settings | newsfirststart
}
alias newsfirststart {
  if ( !$hget(newstracker-setting) ) { .hmake newstracker-setting 100 | .hload newstracker-setting newstracker-setting.hsh }
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %feed = $hfind(newstracker-setting,tracker*,%i,w) | checknews $gettok($hget(newstracker-setting,%feed),1,32) echo
    dec %i
  }
  news_start
}
alias news_start {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %options = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    var %feed = $gettok(%options,1,32)
    if ( $gettok(%options,4,32) && !$timer(news $+ %feed) ) {
      .timernews [ $+ [ %feed ] ] -io 1 $gettok(%options,3,32) checknews %feed say
    }
    dec %i
  }
}
 
alias remove-newstracker {
  if ( !$dialog(newstracker) ) { return }
  var %name = $did(newstracker,52).seltext
  hdel $+(newstracker-setting newsbanner.,%name) | hdel $+(newstracker-setting trackersetting.,%name)
  if ( $timer(news $+ %name) ) { .timernews. [ $+ [ %name ] ] off }
}
 
;$1 = naam feed, $2 say of echo
alias checknews {
  var %settings = $hget(newstracker-setting,trackersetting. [ $+ [ $1 ] ])
  if ( $hget(newstracker-setting,off) == 1 || !$2 || !%settings ) { return }
  if ( $gettok(%settings,4,32) != 1 ) { return }
  if ( $2 == echo ) { goto over }
  if ( %newssaid ) { .timernews [ $+ [ $1 ] ] -io 1 $v1 checknews $1 say | .timernewssaid 1 $calc($v1 - 1) unset % $+ newssaid | halt }
  .timernews [ $+ [ $1 ] ] -io 1 $gettok(%settings,3,32) checknews $1 say
  set -z %newssaid $hget(newstracker-setting,interval)
 
  :over
  var %i = 1 | while ( $sock(news $+ %i).name ) { inc %i }
  var %site = $gettok(%settings,2,32)
  set -u60 %trackernews [ $+ [ %i ] ] $+($1,$chr(44),%site,$chr(44),$2)
  var %j = $regex(%site,/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) %site | halt }
  .sockopen news $+ %i $regml(1) 80
}
 
alias newstracker-chans {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %options = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    var %feed = $gettok(%options,1,32)
    if ( $1 == add ) { hadd newstracker-setting trackersetting. [ $+ [ %feed ] ] $gettok(%options,1-4,32) $addtok($gettok(%options,5-,32),$2,44) }
    if ( $1 == remove ) { hadd newstracker-setting trackersetting. [ $+ [ %feed ] ] $gettok(%options,1-4,32) $remtok($gettok(%options,5-,32),$2,1,44) }
    dec %i
  }
  newstracker-save-settings
}
alias newstracker_check_url {
  echo -a -----------
  echo -a $newstracker-return-text(test0)
  var %newstracker_testurl = $did(newstracker,56)
  if ( !%newstracker_testurl ) { echo -a $newstracker-return-text(error9) | return }
  if ( $sock(newstrackertest) ) { echo -a $newstracker-return-text(error10) | return }
  var %site = $regex(%newstracker_testurl,/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo -a $newstracker-return-text(error11) $+(4[,$regml(1),4] [,$regml(2),4]) $newstracker-return-text(error12) 4[[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/test4] | halt }
  .timernewstrackertest off
  .sockopen newstrackertest $regml(1) 80
}
alias newstracker_endtest {
  if ( $sock($1) ) { .sockclose $1 }
  if ( $fopen($1) ) { var %i = $fopen($1).pos | .fseek -l $1 1 | var %i = $fread($1,%i,&fullline) | .fclose $1 }
  .remove $+($1,.tmp)
  var %i = $news.tag.locate(fullline,$gettok($news.tag.locate(fullline,1).item,2,32)).item
  var %j = $gettok(%i,1,32) | var %k = $gettok(%i,2,32)
  while ( %j < %k ) {
    var %j = $bfind(&fullline,%j,</) | inc %j 2 | var %l = $bfind(&fullline,%j,>)
    if ( %j <= %k && $calc(%l - %j) < 20 ) { var %tags = $addtok(%tags,$bvar(&fullline,%j,$calc(%l - %j)).text,44) }
  }
  echo -a $newstracker-return-text(test1) 12 $+ $did(newstracker,56)
  echo -a $newstracker-return-text(test2)
  var %j = $numtok(%tags,44)
  while ( %j ) {
    var %text = $news.parse.line(fullline,$gettok(%i,1,32),$gettok(%i,2,32),$gettok(%tags,%j,44))
    ;length stripped to 150   
    if ( $bvar(&currentline,0) > 153 ) {
      bcopy &newstrackertemp 1 &currentline 1 150
      bunset &currentline
      bcopy &currentline 1 &newstrackertemp 1 -1
      bset -t &currentline 150 ...
    }
    echo -a $newstracker-return-text(test3) $+ $gettok(%tags,%j,44) $&
      $newstracker-return-text(test4) $+ & $+ $gettok(%tags,%j,44) $&
      $newstracker-return-text(test5) $+ $bvar(&currentline,1-).text
    dec %j
  }
  echo -a -----------
}
;-----------------------sockets-------------------------------
on *:sockopen:newstrackertest: {
  if ($sockerr) { return }
  .timernewstrackertest 1 7 newstracker_endtest $sockname
  .fopen -on $sockname $sockname $+ .tmp
  var %site = $regex($did(newstracker,56),/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) $gettok(%tracker [ $+ [ $sockname ] ],2,44) | halt }
  sockwrite -n $sockname GET $regml(2) HTTP/1.1
  sockwrite -n $sockname Host: $regml(1)
  sockwrite -n $sockname Connection: Close $+ $crlf $+ $crlf
  sockwrite -n $sockname
}
on *:sockopen:news*: {
  if ($sockerr ) { return }
  if ( $sockname == newstrackertest) { return }
  if ( $fopen($sockname) ) { .fclose $sockname }
  .fopen -on $sockname $sockname $+ .txt
  .timer [ $+ [ $sockname ] ] 1 5 news.parse $sockname close
  var %site = $regex($gettok(%tracker [ $+ [ $sockname ] ],2,44),/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) $gettok(%tracker [ $+ [ $sockname ] ],2,44) | halt }
  sockwrite -n $sockname GET $regml(2) HTTP/1.1
  sockwrite -n $sockname Host: $regml(1) $+ $crlf $+ $crlf
  sockwrite -n $sockname Connection: Close
  sockwrite -n $sockname
}
 
 
on *:sockclose:news*: {
  if ( $sockname == newstrackertest) { return }
  news.parse $sockname
}
on *:sockread:newstrackertest: {
  if ($sockerr) { echo -a $newstracker-return-text(error13) | return }
  if (!$fopen($sockname)) { .sockclose $sockname | .timer [ $+ [ $sockname ] ] off | .remove $+($sockname,.tmp) }
  sockread &line
  while ( $sockbr != 0 ) {
    .fwrite -b $sockname &line
    sockread &line
  }
}
 
on *:sockread:news*: {
  if ($sockerr || $sockname == newstrackertest) { return }
  if (!$fopen($sockname)) {
    echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error5) $gettok(%tracker [ $+ [ $sockname ] ],1,44)
    .sockclose $sockname
    .timer [ $+ [ $sockname ] ] off
    .remove $+($sockname,.txt)
    return
  }
  sockread &news.read
  while ( $sockbr ) { .fwrite -b $sockname &news.read | bunset &news.read | sockread &news.read }
}
 
;-----------------------socket aliases----------------------------
;The newsfile has been saved to a temp file on disk
;this alias reads the temp file and puts it in a binvar called &newstext
;arguments: $1 = name temp file
alias news.set.var {
  var %i = $file($1).size
  if ( %i ) { bread $1 0 %i &newstext | breplace &newstext 10 32 13 32 }
}
 
;This alias assumes that there is binvar called &newstext
;It returns the starting byte and the end byte of a <tag></tag> the tags themselves excluded.
;arguments: $1 = name of binvar $2 = search from this bit, $prop = tag
alias news.tag.locate {
  if ( !$2 ) { return 0 }
  var %startingbyte = $bfind(& [ $+ [ $1 ] ],$2,$+(<,$prop))
  if ( %startingbyte == 0 ) { return 0 }
  var %endstart = $bfind(& [ $+ [ $1 ] ],%startingbyte,>)
  var %len = $calc(%endstart - %startingbyte + 1) | var %tag = $bvar(& [ $+ [ $1 ] ],%startingbyte,%len).text
  inc %startingbyte %len
  if ( !$regex(%tag,/^<[^<]+>/) ) { return 0 }
  var %endbyte = $bfind(& [ $+ [ $1 ] ],%startingbyte,$+(</,$prop,>))
 
  return %startingbyte %endbyte
  :error | reseterror | return 0
}
;Returns the ascii text from the binvar &newstext
;arguments: $1 = name of binvar $2 = startingbit $3 = endbit
alias news.return.content {
  tokenize 32 $1-
  if ( $1 == 0 ) { return $null }
  var %start = $2 | var %end = $3 | var %len = $calc(%end - %start)
  return $bvar(& [ $+ [ $1 ] ],%start,%len).text
}
;This alias will initialize the parsing process for the downloaded rss feed.
;Arguments: $1 = sockname and filename rss feed
alias news.parse {
  if ( $sock($1) ) { .sockclose $1 }
  .timer [ $+ [ $1 ] ] off
  if ( $fopen($1) ) { .fclose $1 }
  var %name = $gettok(%tracker [ $+ [ $1 ] ],1,44)
  var %sayorecho = $gettok(%tracker [ $+ [ $1 ] ],3,44)
  news.set.var $+($1,.txt)
  .remove $+($1,.txt)
  var %pos = $news.tag.locate(newstext,1).item | var %index = link
  while ( %pos ) {
    var %location = $news.tag.locate(newstext,%pos). [ $+ [ %index ] ]
    var %indexcontent = $news.return.content(newstext,%location)
    if ( !$hget(newstracker,$crc(%indexcontent,0) $+ $md5(%indexcontent)) ) {
      hadd -m newstracker $crc(%indexcontent,0) $+ $md5(%indexcontent) 1
      news.tell %sayorecho %name %pos
    }
    var %pos = $news.tag.locate(newstext,$gettok(%location,2,32)).item
  }
  return
  :error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker hata $error
  reseterror
}
 
;This alias creates the line which is mentioned in the rooms and @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker window.
;It will only allow %newssets.max lines within 5 seconds and calls that the text is mentioned in all rooms
;arguments: $1 = say/echo, $2 = name tracker, $3 = starting byte and $4 = endbyte in &newstext
alias news.tell {
  tokenize 32 $1-
  var %regex = $regex($hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ]),/&(.+?)\b/ig)
  var %i = $regml(0) | bset -t &newsline 1 $hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ])
  var %j = 1
  while ( %j <= %i ) { var %regml = %regml $regml(%j) | inc %j }
  while ( %i ) {
    var %start = $pos($hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ]),$chr(38),%i)
    var %len = $calc($len($gettok(%regml,%i,32))+1)
    var %total = $calc(%start + %len)
    bcopy &temp 1 &newsline 1 $calc(%start - 1)
    ;tag has contents
    if ( $news.parse.line(newstext,$3,$4,$gettok(%regml,%i,32)) == $true ) {
      ;length stripped to 150   
      if ( $bvar(&currentline,0) > 153 ) {
        bcopy &newstrackertemp 1 &currentline 1 150
        bunset &currentline
        bcopy &currentline 1 &newstrackertemp 1 -1
        bset -t &currentline 150 ...
      }
      bcopy &temp $calc($bvar(&temp,0) + 1) &currentline 1 -1
    }
    if ( %total < $bvar(&newsline,0) ) { bcopy &temp $calc($bvar(&temp,0) + 1) &newsline %total -1 }
    bunset &newsline
    bcopy &newsline 1 &temp 1 -1
    bunset &temp
    dec %i
  }
  inc -u5 %tell.room
  if ( !$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker) ) {
    if ( $hget(newstracker-setting,window) ) { window -n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
    else { window -hn @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
  }
  if ( $1 == echo || %tell.room > $hget(newstracker-setting,max) || !%tell.room ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker in_memory: $bvar(&newsline,1-).text }
  else { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker saying: $bvar(&newsline,1-).text | scon -a news.tellrooms $2 $bvar(&newsline,1-).text }
  bunset &newsline
  return
  :error
  echo -s $newstracker-return-text(error6)
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error7) %name $newstracker-return-text(error8) $error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Level: news-tell: $1- \ %start \ %len \ %total
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Tekst: $bvar(&newstext,$3,$calc($4 - $3)).text
  reseterror
}
 
;This alias replaces html entities from &currentline and also deletes all <..> sections within a tag
;arguments: $1 = name binvar, $2 = startbyte, $3 = endbyte, $4 = tag
;other binvars used are: &temp and &htmlentity
;result &currentline
alias news.parse.line {
  var %bytes = $news.tag.locate($1,$2). [ $+ [ $4 ] ]
  if (!$calc($gettok(%bytes,2,32) - $gettok(%bytes,1,32)) ) { return $false }
  if ( $bvar(&currentline,0) ) { bunset &currentline }
  bcopy &currentline 1 & [ $+ [ $1 ] ] $gettok(%bytes,1,32) $calc($gettok(%bytes,2,32) - $gettok(%bytes,1,32))
 
  ;here we replace html entiies and delete <..>
  var %pos = 1
  while ( $bfind(&currentline,%pos,&) ) {
    var %pos = $v1
    var %posend = $bfind(&currentline,%pos,;)
    if ( !%posend ) { break }
    inc %posend
    if ( $calc(%posend - %pos) <= 8 ) {
      var %entity = $bvar(&currentline,%pos,$calc(%posend - %pos)).text
      ;if the entity is < then it could start a html tag. If a > is found then we delete the <..> section
      if ( %entity == &lt; ) {
        ;if we find the > then we do the delete, else it will be replaced to < in the next section
        var %next = $bfind(&currentline,%pos,&gt;)
        if ( %next ) {
          bcopy &temp 1 &currentline 1 $calc(%pos -1)
          bcopy &temp $calc($bvar(&temp,0) + 1) &currentline $calc(%next + 4) -1
          bunset &currentline | bcopy -c &currentline 1 &temp 1 $bvar(&temp,0)
          bunset &temp | inc %pos | continue
        }
      }
      ;here we set the &htmlentity to the replace value
      htmlentities %entity
      bcopy &temp $iif($bvar(&temp,0),$calc($v1 +1),1) &currentline 1 $calc(%pos -1)
      bcopy &temp $calc($bvar(&temp,0) + 1) &htmlentity 1 -1
      if ( %posend <= $bvar(&currentline,0) ) { bcopy &temp $calc($bvar(&temp,0) + 1) &currentline %posend -1 }
      bunset &currentline | bcopy -c &currentline 1 &temp 1 $bvar(&temp,0)
      bunset &temp
    }
    inc %pos
  }
  ;echo -a result: $bvar(&currentline,1,$bvar(&currentline,0)).text
  return $true
  :error
  echo -s $newstracker-return-text(error6)
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error7) %name $newstracker-return-text(error8) $error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Level: news-parse-line: $1- \ %start \ %len \ %total
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Tekst: $bvar(&newstext,$3,$calc($4 - $3)).text
  reseterror
}
 
;This alias actually announces the texts in the rooms
;$1 = name | $2- = text
alias -l news.tellrooms {
  var %chans = $gettok($hget(newstracker-setting,trackersetting. [ $+ [ $1 ] ]),5-,32)
  var %i = $numtok(%chans,44)
  if ( $hget(newstracker-setting,msg) == all ) {
    while ( %i ) {
      if ( $me ison $gettok(%chans,%i,44) ) { echo -t $v2 $+(<,$me,>) $2- | var %channels = $addtok(%channels,$v2,44) }
      dec %i
    }
    if ( %channels ) { .msg %channels $2- }
  }
  if ( $hget(newstracker-setting,msg) == chans ) {
    if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay)) { window -h @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay }
    while ( %i ) {
      if ( $me ison $gettok(%chans,%i,44) ) { aline @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay $cid msg $v2 $2- }
      dec %i
    }
    if ( !$timer(newstrackersay) ) { .timernewstrackersay 0 3 news_execute }
  }
}
alias news_execute {
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay)) { return | .timernewstrackersay off }
  if ( $line(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay,0) > 0 ) {
    var %line = $line(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay,1)
    dline @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay 1
    if ( $gettok(%line,2,32) != msg ) { return }
    scid $gettok(%line,1,32)
    $gettok(%line,2-,32)
  }
}
;translates html entities to their ascii value and sets it in &htmlentities
alias htmlentities {
  if ( $bvar(&htmlentity,0) ) { bunset &htmlentity }
  var %text = $1-
  if ( $regex(%text,/&[^#]\w+;/) ) {
    var %text = $replace(%text,&nbsp;,160,&iexcl;,161,&cent;,162,&pound;,163,&curren;,164,&yen;,165,&brvbar;,166,&sect;,167,&uml;,168)
    var %text = $replace(%text,&copy;,169,&ordf;,170,&laquo;,171,&not;,172,-,173,&reg;,174,&macr;,175,&deg;,176,&plusmn;,177,&sup2;,178,&sup3;,179)
    var %text = $replace(%text,&acute;,180,&micro;,181,&para;,182,&middot;,183,&cedil;,184,&sup1;,185,&ordm;,186,&raquo;,187,&frac14;,188,&frac12;,189,&frac34;,190)
    var %text = $replace(%text,&iquest;,191,&Agrave;,192,&Aacute;,193,&Acirc;,194,&Atilde;,195,&Auml;,196,&Aring;,197,&AElig;,198,&Ccedil;,199,&Eacute;,201,&Ecirc;,202)
    var %text = $replace(%text,&Euml;,203,&Igrave;,204,&Iacute;,205,&Icirc;,206,&Iuml;,207,&ETH;,208,&Ntilde;,209,&Ograve;,210,&Oacute;,211,&Ocirc;,212,&Otilde;,213)
    var %text = $replace(%text,&Ouml;,214,&times;,215,&Oslash;,216,&Ugrave;,217,&Uacute;,218,&Ucirc;,219,&Uuml;,220,&Yacute;,221,&THORN;,222,&szlig;,223,&agrave;,224)
    var %text = $replace(%text,&aacute;,225,&acirc;,226,&atilde;,227,&auml;,228,&aring;,229,&aelig;,230,&ccedil;,231,&egrave;,232,&eacute;,233,&ecirc;,234,&euml;,235)
    var %text = $replace(%text,&igrave;,236,&iacute;,237,&icirc;,238,&iuml;,239,&eth;,240,&ntilde;,241,&ograve;,242,&oacute;,243,&ocirc;,244,&otilde;,245,&ouml;,246)
    var %text = $replace(%text,&divide;,247,&oslash;,248,&ugrave;,249,&uacute;,250,&ucirc;,251,&uuml;,252,&yacute;,253,&thorn;,254,&yuml;,255,&apos;,39,&amp;,38,&lt;,60,&gt;,62)
    var %text = $replacecs(%text,&Egrave;,200,&egrave;,232)
  }
  var %text = $regsubex(%text,/&#(\d+);/g,$chr(\t))
  if ( %text == $1- ) { bset -t &htmlentity 1 %text }
  else { bset &htmlentity 1 %text }
}


MesqeN 07 Haziran 2012 19:47

Cevap: Beşiktaş kanalı için bot
 
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bu tcl işinizi görücektir.

saywhat 07 Haziran 2012 19:54

Cevap: Beşiktaş kanalı için bot
 
Alıntı:

Bosson Nickli Üyeden Alıntı (Mesaj 1041129502)
iyi ama bulsaydım buraya yazmazdım ki ve çoğu tcl olarak ben bota eklemek istiyorum

tcl istemiyor keşke öyle olaydı benim içinde herşey daha kolay olurdu :P

Cpu 12 Temmuz 2012 18:08

Cevap: Beşiktaş kanalı için bot
 
Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041135814)
buyrun size alternatif bir kod yukardakinden çok daha gelişmiş çok daha fazla ayar içeren bir kod :)

Hollandalı biri tarafından yazıldığı için kendi dilinde ve İngilizce seçenekli olarak iki dilde yazılmış ben İngilizce olan kısımlarını olduğu kadar kendimce çevirdim.en azından sizin kullanacağınız kısımlar artık Türkçe olacak.

kodu yükleme.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

scripts editör /remote kımında alt+r yeni boş bir sayfaya kodu kopyala-yapıştır yapın tamam deyip kapatın.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

yeni bir dosya vs yüklenecek yüklensin mi diye soran bir küçük pencere çıkacak evet deyip onay verin.

kod yüklendiğinde küçük bir pencere açılacak size hangi dili seçmek istediğinizi soracak dediğim gibi kod iki dilde yazılmış.Türkçe seçin.

mirc üstünde kanal penceresi üstünde sağ tıklayın açılan menüde newstracker göreceksiniz oku üstüne getirin ve yanda açılan newstracker menüsünden ayarları tıklayın bir pencere açılacak:

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bu açılan pencerede genel ayarlar bölümü açılacaktır. newstracker kullanıyomusunuz evet işaretli olmalı birde burda yapmanız gerek ayar tüm kanalar için değil herbir kanal için ayarla seçili olsun gerisi olduğu gibi kalabilir.

yan bölüme Besleme ayarları bölümüne geçin.burda öntanımlı ayar olarak kodun yazarı tarafından CNN ve BBC RSS besleme linkleri eklenmiş bunların olması bir bakıma iyi örnek oluşturması açısından nasıl eklenmesi gerektiğini bunlardan kıyaslayarak görebilirsiniz.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


bunlardan birine tıklarsanız yandaki BBC yada CNN yazan kısma bunlar için öntanımlı olarak nasıl ayarlanmış olduklarını göreceksiniz .çıkmak için ayarları sakla butonuna tıklayın boş pencerede beslemeyi kullan -> evet seçili olmalı

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

isim kısmına bir başlık isim beliirtin eklenecek besleme linki için.
URL RSS kısmına besleme alınacak linki girin [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] gibi...
her bir besleme bilgisi çekmesi için saniye cinsinden süre belirtmelisiniz 360 saniye ideal bir süre aralığıdır bu süreyi fazla kısa tutmak istemezsiniz zaten 2 dakika 120 saniyeden daha kısa ayarlamaya çalışırsanız hata alırsınız.

konu yazma kısmı konuyu kanala postalama şeklini formatını ayarlamak için örnek 4Kartal &title - 12&link 4Kartal burda title konu başlıklarını link konunun olduğu URL adresini kanala göstermesini sağlar bunları renk kodlarıyla dilediğiniz şekilde renklendirebilirsiniz bu kısım üzerinde..

siz linkleri atmasın istiyorsanız besleme-adı &title -  besleme-adı ...gibi bunu dilediğiniz şekilde renklendirecek kodları ekleyerek kullanabilirsiniz.yani link postalamasın istiyorsanız ayarlardaki bu konu yazma kısmındaki kutudan &link yazan kısmı kaldırıp sadece &title kısmını kullanarak konu başlıklarını çekmesini sağlayabilirsiniz.

en alt kısımdaki ayar kutusu bu beslemenin hangi kanallar üstünde çalışmasını istiyorsanız onu/onları girin birden fazla kanal girecekseniz aralarına virgül koyarak ekleyin #kanala,#kanalb gibi.. boş bırakırsanız tüm kanallara postalama gibi bir durumla karşılaşabilirsiniz.ayarlar tamamlandığında &quot;yeni&quot; yazan butona tıklayın yeni eklediğiniz besleme ismi yandaki besleme adları kısmında görenecek-eklenecek.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

daha önceden eklenmiş bir beslemenin ayarlarını değiştirmek için o besleme adları kısmında o besleme adını seçin ayarlar gelecektir dilediğiniz değişikliği yaptıktan sonra ayarları sakla butonuna tıklamanız yeterli

konu yazma penceresine yaptığınız ayarlarla konunun kanala ne şekil yansıyacağını kontrol etmek için o kutunun sağında yer alan &quot;örnek&quot; yazısına tıklayın sizin göreceğiniz şekilde aktif pencerenizde beslemelerin kanala bu ayarla nasıl postalanacağını -görüneceğini gösterecek.


[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

URL RSS besleme yazan kısma eklediğiniz rss linkinin çalışıp çalışmadığını bağlantı sağlanıp bilgi çekilip çekilemediğini kontrol etmek için besleme linkini ekledikten sonra o kutunun sağındaki &quot;kontrol URL&quot; butonuna tıklayın.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bu eklediğiniz besleme linkinden bilgi alınıp alınamadığını test edecektir.

herşey tamam olduğunda pencereyi kapatıp.kanalllarınızın altında açılacak @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker penceresinde eklenen besleme linklerinden çekilen haberleri görebilirsiniz belli aralıklarla belirlenen kanala/lara bunlar içinden haberleri postalayacaktır.

kod aşağıda.

Kod:

;Version 3.5 of news-tracker by snabbi
 
;-----------------------events--------------------------------
 
;on startup the feeds have to be initialized
on *:start: { newsfirststart | news_reset_messages_to_default }
 
;display info on load
on *:load: {
  if ( $isfile(newstracker-setting.hsh) ) {
    if ( $hget(newstracker-setting) ) { .hfree newstracker-setting }
    .hmake newstracker-setting 100 | .hload newstracker-setting newstracker-setting.hsh
    news_reset_messages_to_default
    news_help load
  }
  else {
    news_resettodefault
    news_help
    dialog -m newstracker newstracker
  }
  newsfirststart
}
on *:unload: {
  if ( $hget(newstracker-setting,lang) != NL ) {
    if ( $exists(newstracker-setting.hsh) ) { echo -s newstracker-setting.hsh dosyası istiyorsanız manuel olarak kaldırılabilir .eğer istemiyorsanız ayarlarınızı saklayın! }
    echo -s Newstracker başarıyla kaldırıldı.
  }
  if ( $hget(newstracker-setting,lang) != EN ) {
    if ( $exists(newstracker-setting.hsh) ) { echo -s Het bestand newstracker-setting.hsh kan met de hand verwijderd worden wanneer je je instellingen niet wilt bewaren }
    echo -s Newstracker is uit je scripts verwijdert.
  }
  if ( $hget(newstracker) ) { .hfree newstracker }
  if ( $hget(newstracker-setting) ) { .hfree newstracker-setting }
  if ( $window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker) ) { .window -c @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
  .timernews* off
  unset %trackernews*
  unset %tell.room
  unset %newssaid
}
;-----------------------menus--------------------------------
menu @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker {
  .$iif($hget(newstracker-setting,window),$newstracker-return-text(menu5),):hadd newstracker-setting window 0 | newstracker-save-settings | window -nh @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$iif(!$hget(newstracker-setting,window),$newstracker-return-text(menu6),):hadd newstracker-setting window 1 | newstracker-save-settings | window -w3n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$newstracker-return-text(menu11):clear
}
 
menu menubar,channel {
  $newstrackerversion
  .$iif($hget(newstracker-setting,0).item == 0,Reset to default/Reset naar beginwaarden):news_resettodefault
  .$iif(!$hget(newstracker-setting,off),$newstracker-return-text(menu9)): hadd -m newstracker-setting off 1
  .$iif($hget(newstracker-setting,off),$newstracker-return-text(menu10)): hadd -m newstracker-setting off 0
  .$iif($chan($active) && !$newschannels(isinall,$chan($active)),$newstracker-return-text(menu3)):newstracker-chans add $chan($active)
  .$iif($chan($active) && !$newschannels(isnotinany,$chan($active)),$newstracker-return-text(menu4)):newstracker-chans remove $chan($active)
  .$newstracker-return-text(menu13): news_help
  .-
  .$newstracker-return-text(menu1):dialog -m newstracker newstracker
  .- 
  .$iif($hget(newstracker-setting,window),$newstracker-return-text(menu5),):hadd newstracker-setting window 0 | newstracker-save-settings | window -nh @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$iif(!$hget(newstracker-setting,window),$newstracker-return-text(menu6),):hadd newstracker-setting window 1 | newstracker-save-settings | window -w3n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  .$newstracker-return-text(menu12):hfree newstracker | news_reset_messages_to_default
  .$newstracker-return-text(menu2):dialog -m newstracker_lang newstracker_lang
  .$newstracker-return-text(menu7):var %i = $input($newstracker-return-text(menu8),y) | if ( %i ) { news_resettodefault }
}
 
;-----------------------dialogs-------------------------------
 
dialog newstracker_lang {
  title &quot;NewsTracker © snabbi&quot;
  size -1 -1 110 50
  option dbu
  text &quot;hangi dili tercih ediyorsunuz? / select your language&quot;,10,10 10 90 14
  button &quot;Türkçe&quot;,11,10 30 45 15
  button &quot;ingilizce&quot;,12,60 30 45 15
}
on *:dialog:newstracker_lang:sclick:11: { hadd -m newstracker-setting lang EN | dialog -c newstracker_lang }
on *:dialog:newstracker_lang:sclick:12: { hadd -m newstracker-setting lang NL | dialog -c newstracker_lang }
 
dialog newstracker {
  size -1 -1 320 153
  option dbu
 
  tab $newstracker-return-text(dialog150), 150, 5 1 310 125
  text $newstracker-return-text(dialog2),2,10 20 80 7, tab150
  radio $newstracker-return-text(dialog3),3,135 20 20 10,group, tab150
  radio $newstracker-return-text(dialog4),4,155 20 20 10, tab150
  text $newstracker-return-text(dialog5),5,10 35 120 7, tab150
  edit &quot;&quot;,6,135 34 40 10,autohs, tab150
  text $newstracker-return-text(dialog7),7,178 35 40 10, tab150
  text $newstracker-return-text(dialog8),8,10 48 120 7, tab150
  edit &quot;&quot;,9,135 47 40 10,autohs, tab150
  text $newstracker-return-text(dialog10),10,179 48 40 7, tab150
  text $newstracker-return-text(dialog11),11,10 61 80 7, tab150
  radio $newstracker-return-text(dialog12),12,135 61 70 10,group, tab150
  radio $newstracker-return-text(dialog13),13,135 71 80 10, tab150
 
  tab $newstracker-return-text(dialog151), 151, 5 1 310 125
  text $newstracker-return-text(dialog51),51,10 22 70 7, tab151
  list 52,9 31 72 94,hsbar vsbar sort, tab151
  text $newstracker-return-text(dialog64),64,100 31 50 7, tab151
  radio $newstracker-return-text(dialog65),65,160 31 20 10,group, tab151
  radio $newstracker-return-text(dialog66),66,185 31 20 10, tab151
  text $newstracker-return-text(dialog53),53,100 43 50 7, tab151
  edit &quot;&quot;,54,160 42 110 10,autohs, tab151
  text $newstracker-return-text(dialog55),55,100 55 50 7, tab151
  button $newstracker-return-text(dialog88),88,273 55 37 8, tab151
  edit &quot;&quot;,56,160 54 110 10,autohs, tab151
  text $newstracker-return-text(dialog57),57,100 67 55 7, tab151
  edit &quot;&quot;,58,160 66 110 10,autohs, tab151
  text $newstracker-return-text(dialog59),59,275 67 30 7, tab151
  text $newstracker-return-text(dialog60),60,100 79 50 7, tab151
  edit &quot;&quot;,61,160 78 110 10,autohs, tab151
  button $newstracker-return-text(dialog89),89,273 78 37 8, tab151
  text $newstracker-return-text(dialog62),62,100 91 50 7, tab151
  edit &quot;&quot;,63,160 90 110 10,autohs, tab151
  button $newstracker-return-text(dialog87),87,273 91 37 8, tab151
  button $newstracker-return-text(dialog80),80,100 105 50 15, tab151
  button $newstracker-return-text(dialog81),81,160 105 50 15, tab151
  button $newstracker-return-text(dialog82),82,220 105 50 15, tab151
 
  button $newstracker-return-text(dialog100),100,120 131 40 15,ok
}
 
on *:dialog:newstracker:init:*: {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %settings = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    did -a $dname 52 $gettok(%settings,1,32) | dec %i
  } | did -b $dname 80,82
 
  did -a $dname 9 $iif($hget(newstracker-setting,interval),$ifmatch,30)
  did -a $dname 6 $iif($hget(newstracker-setting,max),$ifmatch,5)
  did -c $dname $iif($hget(newstracker-setting,off),4,3)
  did -c $dname $iif($hget(newstracker-setting,msg) == all,13,12)
}
on *:dialog:newstracker:sclick:*: { goto $did
  :3 | hadd newstracker-setting off 0 | halt
  :4 | hadd newstracker-setting off 1 | halt
  :12 | hadd newstracker-setting msg chans | halt
  :13 | hadd newstracker-setting msg all | halt
  :52 | if ( $did($dname,52).seltext != $null ) {
    var %options = $hget(newstracker-setting,trackersetting. [ $+ [ $v1 ] ])
    did -ra $dname 54 $v1 | did -ra $dname 56 $gettok(%options,2,32)
    did -ra $dname 58 $gettok(%options,3,32)
    did -ri $dname 61 1 $hget(newstracker-setting,newsbanner. [ $+ [ $v1 ] ])
    did -ri $dname 63 1 $gettok(%options,5-,32)
    did -u $dname 65,66 | did -c $dname $iif($gettok(%options,4,32),65,66)
    did -e $dname 80,82
  } | halt
  :80 | remove-newstracker
  did -d $dname 52 $did($dname,52,1).sel | did -r $dname 54,56,58,61,63
  did -b $dname 82,80
  halt
  :82 | :81 | var %name = $replace($did($dname,54),$chr(32),_)
  if ( (!$did($dname,52).sel && $did != 81) || %name == $null || $did($dname,58) == $null || $did($dname,56) == $null ) {
    var %i = $input($newstracker-return-text(error1),o,Error) | halt
  }
  if ( ( $did == 81 && $hget(newstracker-setting,trackersetting. [ $+ [ %name ] ]) ) || $&
    ( $did == 82 && $did($dname,52).seltext != %name ) && $hget(newstracker-setting,trackersetting. [ $+ [ %name ] ]) ) {
    var %i = $input($newstracker-return-text(error2),o,Error) | halt
  }
  if ( $did($dname,58) !isnum || $did($dname,58) < 120 ) { var %i = $input($newstracker-return-text(error3),o) | halt }
  if ( $did == 82 ) { remove-newstracker } | did -b $dname 82,80
  hadd newstracker-setting newsbanner. [ $+ [ %name ] ] $iif($did($dname,61),$v1,&title - 12&link)
  var %reg = /((?:,|\s)+)/g | var %rooms = $regsubex($did($dname,63),%reg,$chr(44)) | var %i = 1
  while ( %i <= $numtok(%rooms,44) ) {
    var %room = $addtok(%room,$iif($+($chr(35),*) iswm $gettok(%rooms,%i,44),$v2,$+($chr(35),$v2)),44)
    inc %i
  }
  hadd newstracker-setting trackersetting. [ $+ [ %name ] ] %name $did($dname,56) $did($dname,58) $iif($did(65).state,1,0) %room
  if ( $did == 81 ) { checknews %name echo }
  if ( $did == 82 ) { did -d $dname 52 $did($dname,52,1).sel }
  did -a $dname 52 %name | did -r $dname 54,56,58,61,63 | did -u $dname 65,66,52 | halt
  :89 | if ( $did(61) ) { echo -a ---------- | echo -a $did(61) | echo -a ---------- } | halt
  :88 | newstracker_check_url $did(56) | halt
  :65 | :66 | if ( !$did($dname,52).sel ) { halt } | did -e $dname 82 | halt
  :87 | if ( $chan($active) == $window($active) ) {
    did -ra $dname 63 $addtok($did($dname,63),$chan($active),44)
    if ( $did == 6 || $did == 9 || !$did($dname,52).sel ) { return }
    did -e $dname 82
  }
  halt
  :100 | hadd newstracker-setting interval $iif($did(9),$ifmatch,30)
  hadd newstracker-setting max $iif($did(6),$ifmatch,5)
  newstracker-save-settings
  dialog -x $dname | newstracker-save-settings | news_start
  :0 | :150 | :151
}
 
on *:dialog:newstracker:edit:*: {
  if ( $did == 6 || $did == 9 || !$did($dname,52).sel ) { halt }
  did -e $dname 82
}
 
;-----------------------aliases-------------------------------
alias newstrackerversion { return Newstracker 3.5 }
alias news_help {
  .timer 1 1 echo -s -----------------------
  .timer 1 1 echo -s $newstracker-return-text(welkom1)
  .timer 1 4 echo -s $newstracker-return-text(welkom2)
  .timer 1 7 echo -s $newstracker-return-text(welkom3)
  .timer 1 10 echo -s $newstracker-return-text(welkom4)
  .timer 1 13 echo -s $newstracker-return-text(welkom5)
  .timer 1 16 echo -s $newstracker-return-text(welkom6)
  if ( $1 == load ) { .timer 1 19 echo -s $newstracker-return-text(welkom7) }
  .timer 1 22 echo -a -----------------------
}
alias newstracker-save-settings { .hsave -o newstracker-setting newstracker-setting.hsh }
 
;returns the text in the language what was choosen $1 = number for event
alias newstracker-return-text { return $hget(newstracker,$+($hget(newstracker-setting,lang),-,$1)) }
 
;$1 = isinall of isnotinany $2 = channame
alias newschannels {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %name = $hfind(newstracker-setting,tracker*,%i,w)
    var %settings = $hget(newstracker-setting,%name)
    if ( $istok($gettok(%settings,5,32),$2,44) ) {
      if ( $1 == isnotinany ) { return $false }
    }
    else {
      if ( $1 == isinall ) { return $false }
    }
    dec %i
  }
  return $true
}
alias news_reset_messages_to_default {
  if ( !$hget(newstracker) ) { .hmake newstracker 100 }
  hadd newstracker NL-welkom1 U heeft zojuist news-tracker geinstalleerd op uw mIRC versie © snabbi
  hadd newstracker NL-welkom2 Wanneer u met de rechter muistoets in de kamer klikt ziet u een menu verschijnen &quot;newstracker 3.5&quot;. In dit menu kunt u via de instellingen het script aanpassen.
  hadd newstracker NL-welkom3 Op het eerste tabblad ziet u de algemene instellingen. Deze instellingen hebben betrekking op alle feeds. Zo kunt u bijvoorbeeld het maximum aantal berichten ingeven dat er per feed gezegd mag worden. Hiermee voorkomt u dat u de kamer overspoelt met nieuwsberichten. Ook kunt u instellen dat er een bepaalde tijd is tussen het downloaden van 2 sites.
  hadd newstracker NL-welkom4 De laatste instelling van de algemene instellingen gaat over het versturen van berichten. Het heeft de voorkeur om de berichten in 1 keer naar alle kamers te sturen, echter niet elke server ondersteunt deze optie en daarom kunt u ook elk kanaal apart informeren.
  hadd newstracker NL-welkom5 Het tweede tabblad heet &quot;Feed instellingen&quot;. Hier kunt u per site de instellingen voor de feed wijzigen. U kunt hierbij denken aan hoe de tekst in de kamer getoond moet worden, hoe vaak het getoond moet worden, in welke kamers enzovoorts. Gebruik de knop &quot;check URL&quot; om uw opgegeven URL te controleren en om te zien welke commando's u kunt gebruiken in het veld &quot;Tekst banner&quot;
  hadd newstracker NL-welkom6 Speel maar gerust met het script. Heeft u nog vragen dan kunt u mij mailen op [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]. Vergeet overigens niet om kamers toe te voegen aan uw feeds, want anders ziet u ze niet!
  hadd newstracker NL-welkom7 Overigens zijn de instellingen van de vorige keer bewaard gebleven. Wilt u deze wissen klik dan met uw rechter muistoets in de kamer en kies voor Newstracker en vervolgens voor Reset naar beginwaarden
  hadd newstracker EN-welkom1 news-tracker başarıyla kuruldu
  hadd newstracker EN-welkom2 &quot;newstracker 3.5&quot; menüsü kanal penceresi üstüne sağ tıklayınca açılacaktır.ayarlarınızı bu menü üstünde yapabilirsiniz. ayarların üstüne tıklayarak açabilirsiniz. bu ayarlar iki bölümden oluşur ilk bölüm genel ayarlar içindir.bu ayarlar tüm beslemeler için geçerli olur.
  hadd newstracker EN-welkom3 örnek olarak her bir besleme için maksimum gönderme sayısını değiştirebilir durdurup bağlantı aralığı süresini yeniden ayarlayarak flood yapmasını önleyebilirsiniz.saniyedeki mesaj aralık süresini değiştirip kullanabilirsiniz..
  hadd newstracker EN-welkom4 penceredeki en alt kutudan konuları postalama şeklini değiştirebilirsiniz.öntanımlı olarak tüm kanallara mesaj gönderecek şekilde ayarlanmıştır.hernasılsa bu ayar her sunuda farklı çalışabilir. bu nedenle mesajların gönderileceği kanalları her bir link için ayrı olarak ayarlayabilirsiniz..
  hadd newstracker EN-welkom5 ikinci bölümün adı &quot;besleme ayarları&quot;.bu bölümde her bir RSS besleme linki için ayrı olarak frekans ve postalama metedu gibi ayarları yapabilme olanağı vardır.&quot;kontrol URL&quot; seçeneği size eklediğiniz linkten besleme alınıp alınamayacağını bağlantı sağlanıp sağlanamayacağını test etme şansı verecektir.bir text besleme linki ekleyin bir kanalınız için ve test edin..
  hadd newstracker EN-welkom6 herhangi bir öneri yada şikayetiniz varsa bana [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden e-mail ile bildirebilirsiniz lütfen beslemeleriniz için kanal eklemeyi unutmayın, aksi halde hiçbir besleme akışı göremezsiniz.
  hadd newstracker EN-welkom7 bu arada baştaki ayarlarınız yüklendi. ayarları sıfırlamak için kanal üstüne sağ tıklayın Newstracker seçin ve -> ayarları sıfırla <- üstüne tıklayın.
  hadd newstracker NL-dialog2 Tracker gebruiken? | hadd newstracker EN-dialog2 newstracker kullanıyormusunuz?
  hadd newstracker NL-dialog3 Ja | hadd newstracker EN-dialog3 evet
  hadd newstracker NL-dialog4 Nee | hadd newstracker EN-dialog4 hayır
  hadd newstracker NL-dialog5 Max aantal teksten per feed (flood bescherming)
  hadd newstracker EN-dialog5 her besleme için maksimum mesaj sayısı (flood koruma)
  hadd newstracker NL-dialog7 (0=oneindig) | hadd newstracker EN-dialog7 (0=sınırsız)
  hadd newstracker NL-dialog8 Minimum tijd tussen 2 indirmeler
  hadd newstracker EN-dialog8 iki besleme arasında geçen minumum bilgi çekme zaman aralığı
  hadd newstracker NL-dialog10 seconden | hadd newstracker EN-dialog10 saniye
  hadd newstracker EN-dialog11 kanala mesaj nasıl gönderilecek: | hadd newstracker EN-dialog12 her bir kanal için ayarla
  hadd newstracker EN-dialog13 tüm kanallara mesaj atma | hadd newstracker NL-dialog11 Berichten versturen:
  hadd newstracker NL-dialog12 elk kanaal apart | hadd newstracker NL-dialog13 als 1 bericht naar alle kanalen
  hadd newstracker NL-dialog51 Feed namen | hadd newstracker EN-dialog51 besleme adları
  hadd newstracker NL-dialog53 Naam tracker | hadd newstracker EN-dialog53 isim
  hadd newstracker NL-dialog55 URL RSS feed | hadd newstracker EN-dialog55 URL RSS besleme
  hadd newstracker NL-dialog57 Download feed elke | hadd newstracker EN-dialog57 herbir besleme için indirme
  hadd newstracker NL-dialog59 seconden | hadd newstracker EN-dialog59 saniye
  hadd newstracker NL-dialog60 Tekst banner | hadd newstracker EN-dialog60 konu yazma
  hadd newstracker NL-dialog62 Zeg op kamers | hadd newstracker EN-dialog62 odalarda söyle
  hadd newstracker NL-dialog64 Gebruik feed | hadd newstracker EN-dialog64 beslemeyi kullan
  hadd newstracker NL-dialog65 Ja | hadd newstracker EN-dialog65 evet
  hadd newstracker NL-dialog66 Nee | hadd newstracker EN-dialog66 hayır
  hadd newstracker NL-dialog80 &Verwijder Feed | hadd newstracker EN-dialog80 &kaldır
  hadd newstracker NL-dialog81 &Nieuwe Feed | hadd newstracker EN-dialog81 &yeni
  hadd newstracker NL-dialog82 Op&slaan | hadd newstracker EN-dialog82 &ayarları sakla
  hadd newstracker NL-dialog87 huidige kamer | hadd newstracker EN-dialog87 aktif kanal
  hadd newstracker NL-dialog88 check URL | hadd newstracker EN-dialog88 kontrol URL
  hadd newstracker NL-dialog89 voorbeeld | hadd newstracker EN-dialog89 örnek
  hadd newstracker NL-dialog100 &Oke | hadd newstracker EN-dialog100 &tamam
  hadd newstracker NL-dialog150 Algemene instellingen | hadd newstracker EN-dialog150 Genel ayarlar
  hadd newstracker NL-dialog151 Instellingen per feed | hadd newstracker EN-dialog151 Besleme ayarları
  hadd newstracker NL-error1 Sommige vereiste velden zijn leeg (kamers en banners zijn niet vereist). Een nieuwe feed voeg je toe via Nieuwe feed en anders gebruik je Opslaan
  hadd newstracker EN-error1 bazı kısımlar boş bırakıldı (kanallar ve postalama şekli zorunlu değil). yeni bir besleme linki eklemek için Yeni Besleme butonunu kullanın yada sakla'ya tıklayın.
  hadd newstracker NL-error2 Naam is niet uniek | hadd newstracker EN-hata2 bu isim zaten var
  hadd newstracker NL-error3 De tijd voor elke download moet minimaal 2 minuten zijn (=120 seconden)
  hadd newstracker EN-error3 iki besleme bilgi çekme süresi en az 2 dakika (=120 saniye) olarak ayarlanmalıdır.
  hadd newstracker NL-error4 Download mislukt van | hadd newstracker EN-hata4 haber beslemesi burdan çekilemiyor.
  hadd newstracker NL-error5 Fout tijdens het download van het nieuws. Site reageerde te traag:
  hadd newstracker EN-error5 haber çekilirken bir hata oluştu.bu site çok yavaş cevap veriyor.:
  hadd newstracker NL-error6 Fout tijdens het downloaden van de nieuwstracker. Zie de fout in het scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker of neem contact op met snabbi op [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  hadd newstracker EN-error6 newstracker'da hata. lütfen @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker penceresini sıfırlayın yada  [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] adresinden kod yazarıyla iletişim kurun.
  hadd newstracker NL-error7 Fout tijdens het parsen van | hadd newstracker EN-hata7 ayrıştmada hata oluştu
  hadd newstracker NL-error8 foutcode is: | hadd newstracker EN-hata8 mesaj:
 
  hadd newstracker NL-error9 Geef een URL in het daarvoor bedoelde veld op.
  hadd newstracker EN-error9 geçerli bir URL girin.
  hadd newstracker NL-error10 Het script is nog bezig met het verwerken van uw vorige verzoek.
  hadd newstracker EN-error10 kod hala önceki isteğiniz üzerine çalışıyor.
  hadd newstracker NL-error11 De URL is in het verkeerde formaat.
  hadd newstracker EN-error11 yanlış bir URL adresi girdiniz:
  hadd newstracker NL-error12 verwacht:
  hadd newstracker EN-error12 bekleniyor:
  hadd newstracker NL-error13 Fout bij het downloaden van de site
  hadd newstracker EN-error13 siteden bilgi indirirken hata oluştu
 
  hadd newstracker NL-menu1 Instellingen
  hadd newstracker NL-menu2 Verander taal/dili değiştir
  hadd newstracker NL-menu3 Voeg kamer toe aan alle trackers
  hadd newstracker NL-menu4 Verwijder kamer van alle trackers
  hadd newstracker NL-menu5 Verberg scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  hadd newstracker NL-menu6 Toon scherm @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker
  hadd newstracker NL-menu7 Reset naar beginwaarden
  hadd newstracker NL-menu8 Weet u zeker dat u de huidige instellingen wilt wissen
  hadd newstracker NL-menu9 Schakel script uit
  hadd newstracker NL-menu10 Schakel script in
  hadd newstracker NL-menu11 Leeg maken
  hadd newstracker NL-menu12 Wis berichtgeschiedenis
  hadd newstracker NL-menu13 Help
 
  hadd newstracker EN-menu1 Ayarlar
  hadd newstracker EN-menu2 dili değiştir/Verander taal
  hadd newstracker EN-menu3 kanalı tüm beslemeler için ekle
  hadd newstracker EN-menu4 kanalı tüm beslemelerden kaldır
  hadd newstracker EN-menu5 @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker pencereyi sakla
  hadd newstracker EN-menu6 @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker pencereyi göster
  hadd newstracker EN-menu7 ayarları sıfırla
  hadd newstracker EN-menu8 ayarları sıfırlamak istediğinize emin misiniz
  hadd newstracker EN-menu9 kodu kapa
  hadd newstracker EN-menu10 kodu aç
  hadd newstracker EN-menu11 temizle
  hadd newstracker EN-menu12 hafızayı temizle
  hadd newstracker EN-menu13 yardım
 
  hadd newstracker EN-test0 istenen dosyayı çekmek için 5 saniye bekleyiniz.
  hadd newstracker EN-test1 bu URL'den bilgi çekme isteği başarılı oldu:
  hadd newstracker EN-test2 indirilen dosya çözümlendi. haber beslemesi bazı etiketler içeriyor.bu etiketlerdeki bilgiler &tagname şeklinde eklenirse kanalda gösterilebilir .bu linkteki etiketler aşağıdaki örnekte olduğu gibi gösterilebilir ..
  hadd newstracker EN-test3 etiket 12
  hadd newstracker EN-test4 böyle yazılmalı 12
  hadd newstracker EN-test5 sıradaki mesaj gösterimi12
  hadd newstracker NL-test0 Wacht 5 seconden aub om het script in staat te stellen het gevraagde bestand te downloaden
  hadd newstracker NL-test1 Het script was in staat om een bestand te downloaden vanaf de opgegeven URL: 12
  hadd newstracker NL-test2 Het gedownloadde bestand is verwerkt. Het bevatte een aantal tags. De inhoud tussen deze tags kan je in de kamer(s) weergeven. Dit doe je door het in te geven als een &tag. De tags die gevonden zijn in het bestand worden hier onder weergegeven met een voorbeeld van een van de berichten.
  hadd newstracker NL-test3 De tag 12
  hadd newstracker NL-test4 moet ingevoerd worden als 12
  hadd newstracker NL-test5 om het volgende weer te geven 12
}
alias news_resettodefault {
  if ( $isfile(newstracker-setting.hsh) ) { .remove newstracker-setting.hsh }
  if ( $hget(newstracker-setting) ) { hfree newstracker-setting }
  if ( $hget(newstracker) ) { hfree newstracker }
  hadd -m newstracker-setting lang NL
  hadd newstracker-setting interval 30
  hadd newstracker-setting max 5 | hadd newstracker-setting window $true | hadd newstracker-setting off 0 | hadd newstracker-setting msg all
  news_reset_messages_to_default
  var %i = $dialog(newstracker_lang,newstracker_lang)
  newstracker_reset_to_default_2
  newstracker-save-settings
}
alias newstracker_reset_to_default_2 {
  if ( $hget(newstracker-setting,lang) == NL ) {
    var %trackers = AD,Fok,NOS-Nieuws,NOS-Sport,NuAlg,NuEco,NuInternet | var %names = AD,Fok!,NOS,NOS,Nu.nl,Nu.nl,Nu.nl
    var %info = [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...], $&
      [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  }
  else if ( $v1 == EN ) {
    var %trackers = BBC,CNN | var %names = BBC,CNN
    var %info = [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
  }
  var %i = $numtok(%trackers,44)
  while ( %i ) {
    hadd newstracker-setting newsbanner. [ $+ [ $gettok(%trackers,%i,44) ] ] $+(4,$gettok(%names,%i,44), &title - 12&link 4,$gettok(%names,%i,44))
    hadd newstracker-setting trackersetting. [ $+ [ $gettok(%trackers,%i,44) ] ] $gettok(%trackers,%i,44) $gettok(%info,%i,44) 360 1
    dec %i
  }
  newstracker-save-settings | newsfirststart
}
alias newsfirststart {
  if ( !$hget(newstracker-setting) ) { .hmake newstracker-setting 100 | .hload newstracker-setting newstracker-setting.hsh }
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %feed = $hfind(newstracker-setting,tracker*,%i,w) | checknews $gettok($hget(newstracker-setting,%feed),1,32) echo
    dec %i
  }
  news_start
}
alias news_start {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %options = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    var %feed = $gettok(%options,1,32)
    if ( $gettok(%options,4,32) && !$timer(news $+ %feed) ) {
      .timernews [ $+ [ %feed ] ] -io 1 $gettok(%options,3,32) checknews %feed say
    }
    dec %i
  }
}
 
alias remove-newstracker {
  if ( !$dialog(newstracker) ) { return }
  var %name = $did(newstracker,52).seltext
  hdel $+(newstracker-setting newsbanner.,%name) | hdel $+(newstracker-setting trackersetting.,%name)
  if ( $timer(news $+ %name) ) { .timernews. [ $+ [ %name ] ] off }
}
 
;$1 = naam feed, $2 say of echo
alias checknews {
  var %settings = $hget(newstracker-setting,trackersetting. [ $+ [ $1 ] ])
  if ( $hget(newstracker-setting,off) == 1 || !$2 || !%settings ) { return }
  if ( $gettok(%settings,4,32) != 1 ) { return }
  if ( $2 == echo ) { goto over }
  if ( %newssaid ) { .timernews [ $+ [ $1 ] ] -io 1 $v1 checknews $1 say | .timernewssaid 1 $calc($v1 - 1) unset % $+ newssaid | halt }
  .timernews [ $+ [ $1 ] ] -io 1 $gettok(%settings,3,32) checknews $1 say
  set -z %newssaid $hget(newstracker-setting,interval)
 
  :over
  var %i = 1 | while ( $sock(news $+ %i).name ) { inc %i }
  var %site = $gettok(%settings,2,32)
  set -u60 %trackernews [ $+ [ %i ] ] $+($1,$chr(44),%site,$chr(44),$2)
  var %j = $regex(%site,/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) %site | halt }
  .sockopen news $+ %i $regml(1) 80
}
 
alias newstracker-chans {
  var %i = $hfind(newstracker-setting,tracker*,0,w)
  while ( %i ) {
    var %options = $hget(newstracker-setting,$hfind(newstracker-setting,tracker*,%i,w))
    var %feed = $gettok(%options,1,32)
    if ( $1 == add ) { hadd newstracker-setting trackersetting. [ $+ [ %feed ] ] $gettok(%options,1-4,32) $addtok($gettok(%options,5-,32),$2,44) }
    if ( $1 == remove ) { hadd newstracker-setting trackersetting. [ $+ [ %feed ] ] $gettok(%options,1-4,32) $remtok($gettok(%options,5-,32),$2,1,44) }
    dec %i
  }
  newstracker-save-settings
}
alias newstracker_check_url {
  echo -a -----------
  echo -a $newstracker-return-text(test0)
  var %newstracker_testurl = $did(newstracker,56)
  if ( !%newstracker_testurl ) { echo -a $newstracker-return-text(error9) | return }
  if ( $sock(newstrackertest) ) { echo -a $newstracker-return-text(error10) | return }
  var %site = $regex(%newstracker_testurl,/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo -a $newstracker-return-text(error11) $+(4[,$regml(1),4] [,$regml(2),4]) $newstracker-return-text(error12) 4[[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] [/test4] | halt }
  .timernewstrackertest off
  .sockopen newstrackertest $regml(1) 80
}
alias newstracker_endtest {
  if ( $sock($1) ) { .sockclose $1 }
  if ( $fopen($1) ) { var %i = $fopen($1).pos | .fseek -l $1 1 | var %i = $fread($1,%i,&fullline) | .fclose $1 }
  .remove $+($1,.tmp)
  var %i = $news.tag.locate(fullline,$gettok($news.tag.locate(fullline,1).item,2,32)).item
  var %j = $gettok(%i,1,32) | var %k = $gettok(%i,2,32)
  while ( %j < %k ) {
    var %j = $bfind(&fullline,%j,</) | inc %j 2 | var %l = $bfind(&fullline,%j,>)
    if ( %j <= %k && $calc(%l - %j) < 20 ) { var %tags = $addtok(%tags,$bvar(&fullline,%j,$calc(%l - %j)).text,44) }
  }
  echo -a $newstracker-return-text(test1) 12 $+ $did(newstracker,56)
  echo -a $newstracker-return-text(test2)
  var %j = $numtok(%tags,44)
  while ( %j ) {
    var %text = $news.parse.line(fullline,$gettok(%i,1,32),$gettok(%i,2,32),$gettok(%tags,%j,44))
    ;length stripped to 150   
    if ( $bvar(&currentline,0) > 153 ) {
      bcopy &newstrackertemp 1 &currentline 1 150
      bunset &currentline
      bcopy &currentline 1 &newstrackertemp 1 -1
      bset -t &currentline 150 ...
    }
    echo -a $newstracker-return-text(test3) $+ $gettok(%tags,%j,44) $&
      $newstracker-return-text(test4) $+ & $+ $gettok(%tags,%j,44) $&
      $newstracker-return-text(test5) $+ $bvar(&currentline,1-).text
    dec %j
  }
  echo -a -----------
}
;-----------------------sockets-------------------------------
on *:sockopen:newstrackertest: {
  if ($sockerr) { return }
  .timernewstrackertest 1 7 newstracker_endtest $sockname
  .fopen -on $sockname $sockname $+ .tmp
  var %site = $regex($did(newstracker,56),/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) $gettok(%tracker [ $+ [ $sockname ] ],2,44) | halt }
  sockwrite -n $sockname GET $regml(2) HTTP/1.1
  sockwrite -n $sockname Host: $regml(1)
  sockwrite -n $sockname Connection: Close $+ $crlf $+ $crlf
  sockwrite -n $sockname
}
on *:sockopen:news*: {
  if ($sockerr ) { return }
  if ( $sockname == newstrackertest) { return }
  if ( $fopen($sockname) ) { .fclose $sockname }
  .fopen -on $sockname $sockname $+ .txt
  .timer [ $+ [ $sockname ] ] 1 5 news.parse $sockname close
  var %site = $regex($gettok(%tracker [ $+ [ $sockname ] ],2,44),/^(?:http:\/\/)?([^\/]+)(.*)$/)
  if ( $regml(0) != 2 ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error4) $gettok(%tracker [ $+ [ $sockname ] ],2,44) | halt }
  sockwrite -n $sockname GET $regml(2) HTTP/1.1
  sockwrite -n $sockname Host: $regml(1) $+ $crlf $+ $crlf
  sockwrite -n $sockname Connection: Close
  sockwrite -n $sockname
}
 
 
on *:sockclose:news*: {
  if ( $sockname == newstrackertest) { return }
  news.parse $sockname
}
on *:sockread:newstrackertest: {
  if ($sockerr) { echo -a $newstracker-return-text(error13) | return }
  if (!$fopen($sockname)) { .sockclose $sockname | .timer [ $+ [ $sockname ] ] off | .remove $+($sockname,.tmp) }
  sockread &line
  while ( $sockbr != 0 ) {
    .fwrite -b $sockname &line
    sockread &line
  }
}
 
on *:sockread:news*: {
  if ($sockerr || $sockname == newstrackertest) { return }
  if (!$fopen($sockname)) {
    echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error5) $gettok(%tracker [ $+ [ $sockname ] ],1,44)
    .sockclose $sockname
    .timer [ $+ [ $sockname ] ] off
    .remove $+($sockname,.txt)
    return
  }
  sockread &news.read
  while ( $sockbr ) { .fwrite -b $sockname &news.read | bunset &news.read | sockread &news.read }
}
 
;-----------------------socket aliases----------------------------
;The newsfile has been saved to a temp file on disk
;this alias reads the temp file and puts it in a binvar called &newstext
;arguments: $1 = name temp file
alias news.set.var {
  var %i = $file($1).size
  if ( %i ) { bread $1 0 %i &newstext | breplace &newstext 10 32 13 32 }
}
 
;This alias assumes that there is binvar called &newstext
;It returns the starting byte and the end byte of a <tag></tag> the tags themselves excluded.
;arguments: $1 = name of binvar $2 = search from this bit, $prop = tag
alias news.tag.locate {
  if ( !$2 ) { return 0 }
  var %startingbyte = $bfind(& [ $+ [ $1 ] ],$2,$+(<,$prop))
  if ( %startingbyte == 0 ) { return 0 }
  var %endstart = $bfind(& [ $+ [ $1 ] ],%startingbyte,>)
  var %len = $calc(%endstart - %startingbyte + 1) | var %tag = $bvar(& [ $+ [ $1 ] ],%startingbyte,%len).text
  inc %startingbyte %len
  if ( !$regex(%tag,/^<[^<]+>/) ) { return 0 }
  var %endbyte = $bfind(& [ $+ [ $1 ] ],%startingbyte,$+(</,$prop,>))
 
  return %startingbyte %endbyte
  :error | reseterror | return 0
}
;Returns the ascii text from the binvar &newstext
;arguments: $1 = name of binvar $2 = startingbit $3 = endbit
alias news.return.content {
  tokenize 32 $1-
  if ( $1 == 0 ) { return $null }
  var %start = $2 | var %end = $3 | var %len = $calc(%end - %start)
  return $bvar(& [ $+ [ $1 ] ],%start,%len).text
}
;This alias will initialize the parsing process for the downloaded rss feed.
;Arguments: $1 = sockname and filename rss feed
alias news.parse {
  if ( $sock($1) ) { .sockclose $1 }
  .timer [ $+ [ $1 ] ] off
  if ( $fopen($1) ) { .fclose $1 }
  var %name = $gettok(%tracker [ $+ [ $1 ] ],1,44)
  var %sayorecho = $gettok(%tracker [ $+ [ $1 ] ],3,44)
  news.set.var $+($1,.txt)
  .remove $+($1,.txt)
  var %pos = $news.tag.locate(newstext,1).item | var %index = link
  while ( %pos ) {
    var %location = $news.tag.locate(newstext,%pos). [ $+ [ %index ] ]
    var %indexcontent = $news.return.content(newstext,%location)
    if ( !$hget(newstracker,$crc(%indexcontent,0) $+ $md5(%indexcontent)) ) {
      hadd -m newstracker $crc(%indexcontent,0) $+ $md5(%indexcontent) 1
      news.tell %sayorecho %name %pos
    }
    var %pos = $news.tag.locate(newstext,$gettok(%location,2,32)).item
  }
  return
  :error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker hata $error
  reseterror
}
 
;This alias creates the line which is mentioned in the rooms and @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker window.
;It will only allow %newssets.max lines within 5 seconds and calls that the text is mentioned in all rooms
;arguments: $1 = say/echo, $2 = name tracker, $3 = starting byte and $4 = endbyte in &newstext
alias news.tell {
  tokenize 32 $1-
  var %regex = $regex($hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ]),/&(.+?)\b/ig)
  var %i = $regml(0) | bset -t &newsline 1 $hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ])
  var %j = 1
  while ( %j <= %i ) { var %regml = %regml $regml(%j) | inc %j }
  while ( %i ) {
    var %start = $pos($hget(newstracker-setting,newsbanner. [ $+ [ $2 ] ]),$chr(38),%i)
    var %len = $calc($len($gettok(%regml,%i,32))+1)
    var %total = $calc(%start + %len)
    bcopy &temp 1 &newsline 1 $calc(%start - 1)
    ;tag has contents
    if ( $news.parse.line(newstext,$3,$4,$gettok(%regml,%i,32)) == $true ) {
      ;length stripped to 150   
      if ( $bvar(&currentline,0) > 153 ) {
        bcopy &newstrackertemp 1 &currentline 1 150
        bunset &currentline
        bcopy &currentline 1 &newstrackertemp 1 -1
        bset -t &currentline 150 ...
      }
      bcopy &temp $calc($bvar(&temp,0) + 1) &currentline 1 -1
    }
    if ( %total < $bvar(&newsline,0) ) { bcopy &temp $calc($bvar(&temp,0) + 1) &newsline %total -1 }
    bunset &newsline
    bcopy &newsline 1 &temp 1 -1
    bunset &temp
    dec %i
  }
  inc -u5 %tell.room
  if ( !$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker) ) {
    if ( $hget(newstracker-setting,window) ) { window -n @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
    else { window -hn @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker }
  }
  if ( $1 == echo || %tell.room > $hget(newstracker-setting,max) || !%tell.room ) { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker in_memory: $bvar(&newsline,1-).text }
  else { echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker saying: $bvar(&newsline,1-).text | scon -a news.tellrooms $2 $bvar(&newsline,1-).text }
  bunset &newsline
  return
  :error
  echo -s $newstracker-return-text(error6)
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error7) %name $newstracker-return-text(error8) $error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Level: news-tell: $1- \ %start \ %len \ %total
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Tekst: $bvar(&newstext,$3,$calc($4 - $3)).text
  reseterror
}
 
;This alias replaces html entities from &currentline and also deletes all <..> sections within a tag
;arguments: $1 = name binvar, $2 = startbyte, $3 = endbyte, $4 = tag
;other binvars used are: &temp and &htmlentity
;result &currentline
alias news.parse.line {
  var %bytes = $news.tag.locate($1,$2). [ $+ [ $4 ] ]
  if (!$calc($gettok(%bytes,2,32) - $gettok(%bytes,1,32)) ) { return $false }
  if ( $bvar(&currentline,0) ) { bunset &currentline }
  bcopy &currentline 1 & [ $+ [ $1 ] ] $gettok(%bytes,1,32) $calc($gettok(%bytes,2,32) - $gettok(%bytes,1,32))
 
  ;here we replace html entiies and delete <..>
  var %pos = 1
  while ( $bfind(&currentline,%pos,&) ) {
    var %pos = $v1
    var %posend = $bfind(&currentline,%pos,;)
    if ( !%posend ) { break }
    inc %posend
    if ( $calc(%posend - %pos) <= 8 ) {
      var %entity = $bvar(&currentline,%pos,$calc(%posend - %pos)).text
      ;if the entity is < then it could start a html tag. If a > is found then we delete the <..> section
      if ( %entity == &lt; ) {
        ;if we find the > then we do the delete, else it will be replaced to < in the next section
        var %next = $bfind(&currentline,%pos,&gt;)
        if ( %next ) {
          bcopy &temp 1 &currentline 1 $calc(%pos -1)
          bcopy &temp $calc($bvar(&temp,0) + 1) &currentline $calc(%next + 4) -1
          bunset &currentline | bcopy -c &currentline 1 &temp 1 $bvar(&temp,0)
          bunset &temp | inc %pos | continue
        }
      }
      ;here we set the &htmlentity to the replace value
      htmlentities %entity
      bcopy &temp $iif($bvar(&temp,0),$calc($v1 +1),1) &currentline 1 $calc(%pos -1)
      bcopy &temp $calc($bvar(&temp,0) + 1) &htmlentity 1 -1
      if ( %posend <= $bvar(&currentline,0) ) { bcopy &temp $calc($bvar(&temp,0) + 1) &currentline %posend -1 }
      bunset &currentline | bcopy -c &currentline 1 &temp 1 $bvar(&temp,0)
      bunset &temp
    }
    inc %pos
  }
  ;echo -a result: $bvar(&currentline,1,$bvar(&currentline,0)).text
  return $true
  :error
  echo -s $newstracker-return-text(error6)
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker $newstracker-return-text(error7) %name $newstracker-return-text(error8) $error
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Level: news-parse-line: $1- \ %start \ %len \ %total
  echo @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]stracker Tekst: $bvar(&newstext,$3,$calc($4 - $3)).text
  reseterror
}
 
;This alias actually announces the texts in the rooms
;$1 = name | $2- = text
alias -l news.tellrooms {
  var %chans = $gettok($hget(newstracker-setting,trackersetting. [ $+ [ $1 ] ]),5-,32)
  var %i = $numtok(%chans,44)
  if ( $hget(newstracker-setting,msg) == all ) {
    while ( %i ) {
      if ( $me ison $gettok(%chans,%i,44) ) { echo -t $v2 $+(<,$me,>) $2- | var %channels = $addtok(%channels,$v2,44) }
      dec %i
    }
    if ( %channels ) { .msg %channels $2- }
  }
  if ( $hget(newstracker-setting,msg) == chans ) {
    if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay)) { window -h @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay }
    while ( %i ) {
      if ( $me ison $gettok(%chans,%i,44) ) { aline @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay $cid msg $v2 $2- }
      dec %i
    }
    if ( !$timer(newstrackersay) ) { .timernewstrackersay 0 3 news_execute }
  }
}
alias news_execute {
  if (!$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay)) { return | .timernewstrackersay off }
  if ( $line(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay,0) > 0 ) {
    var %line = $line(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay,1)
    dline @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]strackersay 1
    if ( $gettok(%line,2,32) != msg ) { return }
    scid $gettok(%line,1,32)
    $gettok(%line,2-,32)
  }
}
;translates html entities to their ascii value and sets it in &htmlentities
alias htmlentities {
  if ( $bvar(&htmlentity,0) ) { bunset &htmlentity }
  var %text = $1-
  if ( $regex(%text,/&[^#]\w+;/) ) {
    var %text = $replace(%text,&nbsp;,160,&iexcl;,161,&cent;,162,&pound;,163,&curren;,164,&yen;,165,&brvbar;,166,&sect;,167,&uml;,168)
    var %text = $replace(%text,&copy;,169,&ordf;,170,&laquo;,171,&not;,172,-,173,&reg;,174,&macr;,175,&deg;,176,&plusmn;,177,&sup2;,178,&sup3;,179)
    var %text = $replace(%text,&acute;,180,&micro;,181,&para;,182,&middot;,183,&cedil;,184,&sup1;,185,&ordm;,186,&raquo;,187,&frac14;,188,&frac12;,189,&frac34;,190)
    var %text = $replace(%text,&iquest;,191,&Agrave;,192,&Aacute;,193,&Acirc;,194,&Atilde;,195,&Auml;,196,&Aring;,197,&AElig;,198,&Ccedil;,199,&Eacute;,201,&Ecirc;,202)
    var %text = $replace(%text,&Euml;,203,&Igrave;,204,&Iacute;,205,&Icirc;,206,&Iuml;,207,&ETH;,208,&Ntilde;,209,&Ograve;,210,&Oacute;,211,&Ocirc;,212,&Otilde;,213)
    var %text = $replace(%text,&Ouml;,214,&times;,215,&Oslash;,216,&Ugrave;,217,&Uacute;,218,&Ucirc;,219,&Uuml;,220,&Yacute;,221,&THORN;,222,&szlig;,223,&agrave;,224)
    var %text = $replace(%text,&aacute;,225,&acirc;,226,&atilde;,227,&auml;,228,&aring;,229,&aelig;,230,&ccedil;,231,&egrave;,232,&eacute;,233,&ecirc;,234,&euml;,235)
    var %text = $replace(%text,&igrave;,236,&iacute;,237,&icirc;,238,&iuml;,239,&eth;,240,&ntilde;,241,&ograve;,242,&oacute;,243,&ocirc;,244,&otilde;,245,&ouml;,246)
    var %text = $replace(%text,&divide;,247,&oslash;,248,&ugrave;,249,&uacute;,250,&ucirc;,251,&uuml;,252,&yacute;,253,&thorn;,254,&yuml;,255,&apos;,39,&amp;,38,&lt;,60,&gt;,62)
    var %text = $replacecs(%text,&Egrave;,200,&egrave;,232)
  }
  var %text = $regsubex(%text,/&#(\d+);/g,$chr(\t))
  if ( %text == $1- ) { bset -t &htmlentity 1 %text }
  else { bset &htmlentity 1 %text }
}



* Geçersiz parametre: $fread (Satır 441, script13.exe)
-
* /fopen: 'newstrackertest' İsmi Kullanılıyor (Satır 472, script13.exe)
-
* Geçersiz parametre: $fread (Satır 441, script13.exe)
-
* /fopen: 'newstrackertest' İsmi Kullanılıyor (Satır 472, script13.exe)
-
* Geçersiz parametre: $fread (Satır 441, script13.exe)

hata veriyor

--IRCForumlari.NET ; Flood Engellendi -->-> Yeni yazılan mesaj 18:08 -->-> Daha önceki mesaj 18:03 --

&quot;newstracker 3.5&quot; gibi birşey yazıyor

saywhat 12 Temmuz 2012 19:07

Cevap: Beşiktaş kanalı için bot
 
şöyle yapalım... bana sunucu adresinizi kanalı ve haber almak istediğiniz rss linklerini verin kanalınıza 7/24 işleyecek bi eggdrop atayım .5-10 dakika içinde orda olur.kalsın orda benim için sorun olmaz.

(yanlış anlaşılmasın ücretle vs demiyorum bende boşta duran shelller-botlar var öylece haftalardır kullanmıyorum ..boş boş duracaklarına birinin işine yaramış olur )

saywhat 13 Temmuz 2012 02:14

Cevap: Beşiktaş kanalı için bot
 
1.6.21 eggdropu hazırladım kanala soktum sizin resminizin altındaki sunucuya #Beşiktaş kanalına rss scripti linkleri vs eklemiştim denemek için bende girdim hazır botu bir sokmuşken botun nickiinide kaydettirdim sunucuya...siz linkleri değil sadece konuları atsın adres atmasın demiştiniz bende öyle ayarlamıştım. ancak kanala postalamaya başladığında gördüm ki utf-8 patch etmemişim ben o botu yani Türkçe karakterler bozuk çıkıyordu.bu sorun olmasaydı tmm herşey deyip botu bırakıp çıkacaktım işim bitti herşey tmm diye...

ama Türkçe ğ,ş,ç gibi karakterler bozuk atınca bu böyle olmaz diye yeniden bir bot kurup bu sorunu patch edip halledeyim dedim.eski botu sildim eggdrop'un en son modelini 1.8 CVS yani dev. geliştirici versionunu kurmaya karar verdim eh dedim madem en yenisini kuracam olmuşken tam olsun tüm ekstra modülleri megahal stats gseen logs2html vs vs hepsini indirip ekleyip kuruluma kattım ki olmuşken tam olsun...

sonra ne oldu kanala gene girdim botu patchledim kurdum başlattım bekliyorum gelmesini ki son ayarları yapıp çalışmasında sorun var mı bakıp çıkacam botu bırakıp..işim bitmiş olacak..ancak bot bi türlü gelmedi.telnete geçtim bottan bir baktım ki sunucu gline atmış sunucuya giremiyor...hadi ip değiştim vhost değiştim botu killeyip,gene soktum gene aynı.nick,ident hepsini değiştim yok gene aynı....tek bi kanala sokup nickini kayıt ettiğim Beşiktaş kanalına topu topu 3 tane Beşiktaş'tan haber başlığı yazmış bir bot niye sunucdan banlanır ? bunuda anlamış değilim...

o bot o sunucuya herhalukarda girerdi .. girerdi de bu kez gerçekten saldırı gibi olacaktı ,çünkü Shell'de proxy'de kurulu bot .conftaki bir satırlık bir değişiklikle botun ipsi proxy'ye dönebiliyor. .. ama bu kez sizin adminler iyice bunu saldırı moda gireceklerdi ondan bunu denemedim..anlamadığım şey normal shellin ipv4 ipleriyle soktuğum nickini kaydettiğim sadece 5-10 kişilik tek bir kanala girip yarım saatte çıkmış bir botu niye banlarlar bunu anlamış değilim.

yani eggdrop işi olmuyor bilginize....

Yunus 13 Temmuz 2012 14:56

Cevap: Beşiktaş kanalı için bot
 
Alıntı:

saywhat Nickli Üyeden Alıntı (Mesaj 1041167320)
1.6.21 eggdropu hazırladım kanala soktum sizin resminizin altındaki sunucuya #Beşiktaş kanalına rss scripti linkleri vs eklemiştim denemek için bende girdim hazır botu bir sokmuşken botun nickiinide kaydettirdim sunucuya...siz linkleri değil sadece konuları atsın adres atmasın demiştiniz bende öyle ayarlamıştım. ancak kanala postalamaya başladığında gördüm ki utf-8 patch etmemişim ben o botu yani Türkçe karakterler bozuk çıkıyordu.bu sorun olmasaydı tmm herşey deyip botu bırakıp çıkacaktım işim bitti herşey tmm diye...

ama Türkçe ğ,ş,ç gibi karakterler bozuk atınca bu böyle olmaz diye yeniden bir bot kurup bu sorunu patch edip halledeyim dedim.eski botu sildim eggdrop'un en son modelini 1.8 CVS yani dev. geliştirici versionunu kurmaya karar verdim eh dedim madem en yenisini kuracam olmuşken tam olsun tüm ekstra modülleri megahal stats gseen logs2html vs vs hepsini indirip ekleyip kuruluma kattım ki olmuşken tam olsun...

sonra ne oldu kanala gene girdim botu patchledim kurdum başlattım bekliyorum gelmesini ki son ayarları yapıp çalışmasında sorun var mı bakıp çıkacam botu bırakıp..işim bitmiş olacak..ancak bot bi türlü gelmedi.telnete geçtim bottan bir baktım ki sunucu gline atmış sunucuya giremiyor...hadi ip değiştim vhost değiştim botu killeyip,gene soktum gene aynı.nick,ident hepsini değiştim yok gene aynı....tek bi kanala sokup nickini kayıt ettiğim Beşiktaş kanalına topu topu 3 tane Beşiktaş'tan haber başlığı yazmış bir bot niye sunucdan banlanır ? bunuda anlamış değilim...

o bot o sunucuya herhalukarda girerdi .. girerdi de bu kez gerçekten saldırı gibi olacaktı ,çünkü Shell'de proxy'de kurulu bot .conftaki bir satırlık bir değişiklikle botun ipsi proxy'ye dönebiliyor. .. ama bu kez sizin adminler iyice bunu saldırı moda gireceklerdi ondan bunu denemedim..anlamadığım şey normal shellin ipv4 ipleriyle soktuğum nickini kaydettiğim sadece 5-10 kişilik tek bir kanala girip yarım saatte çıkmış bir botu niye banlarlar bunu anlamış değilim.

yani eggdrop işi olmuyor bilginize....

O kadar uğraşmışsın bence artık burdan sonrası seni ilgilendirmiyor elinden geleni fazlasıyla yapmışsın ve büyük bir teşekkür hak etmişsin.
Senin gibi kaç kişi kalmış ki burada ? Para versen böyle yardım bulamazsın.


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

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