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/)
-   -   Haber Botu (https://www.ircforumlari.net/mirc-scripting-sorunlari/307530-haber-botu.html)

skylord 26 Aralık 2009 02:48

Haber Botu
 
Herkese kolay gelsin,
ufak bi isteğim olacak ama biraz zor :)

mynet.com yada hürriyet.com yada sabah.com hiç fark etmez her hangi bi haber yayinlayan bi sitenin güncel haberlerini otomatik olarak irc kanalımda yayınlamak istiyorum.ordan alıcak + linki ni de ekleyecek ve kanala atıcak saat başı guncelleyecek we 5 haberde bi silicek,mesela 1.haber 2.haber 3.haber 4.haber 5.haber ve 6.haber geldiginde otomatık olarak 1.haberı silecek ki birikme olmasın,gereksiz haberleri göstermesin..şimdiden herkese teşekkür ederim...:)

Ajan 26 Aralık 2009 18:40

Cevap: Haber Botu
 
Socket derslerini inceleyip başlangıcını sen yap, gerisini biz getiririz.

muratt_aziz 27 Aralık 2009 03:34

Cevap: Haber Botu
 
Kod:


alias sondakika {
  unset %haber
  sockclose s4
  sockopen s4 sondakika.hurriyet.com.tr 80
}
alias -l sw sockwrite -n $sockname $1-
on *:sockopen:s4: {
  if (!$sockerr) {
    sw GET /?sid=0 HTTP/1.1
    sw Host: sondakika.hurriyet.com.tr
    sw User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
    sw Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    sw Accept-Language: tr-TR,tr;q=0.8,en-us;q=0.5,en;q=0.3
    sw Accept-Encoding: gzip,deflate
    sw Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7
    sw Connection: Close
    sw $crlf
  }
}
alias htmlfree {
  var %x, %i = $regsub($replace($1-,</strong>,-,</a></td></tr><tr>,¿,DiÄŸer haberler için tıklayın...,difuzyonnnn),/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;,$chr(9))
  return %x
}
on *:sockread:s4: {
  sockread %a
  if (class="hurtextverdana"> isin %a) {
    set %haber $htmlfree(%a)
    var %i = 1 , %id $numtok(%haber,191)
    while (%i <= $calc(%id - 1)) {
      var %s $gettok(%haber,%i,191)
      if (difuzyon isin %s) halt
      .msg %habernick $replace(%s,-,4-01)
      inc %i
    }
  }
}
on *:text:!haberler:#haber:set $+(%,haber,nick) $nick | sondakika | .msg %habernick 3Son dakika haberleri listeleniyor :
alias haberler {
  unset %haberler
  sockclose s6
  sockopen s6 sondakika.hurriyet.com.tr 80
}
on *:sockopen:s6: {
  if (!$sockerr) {
    sw GET /?sid=0 HTTP/1.1
    sw Host: sondakika.hurriyet.com.tr
    sw User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; tr; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
    sw Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    sw Accept-Language: tr-TR,tr;q=0.8,en-us;q=0.5,en;q=0.3
    sw Accept-Encoding: gzip,deflate
    sw Accept-Charset: ISO-8859-9,utf-8;q=0.7,*;q=0.7
    sw Connection: Close
    sw $crlf
  }
}
on *:sockread:s6: {
  sockread %cenk
  if (class="hurtextverdana"> isin %cenk) {
    set %haberler $htmlfree(%cenk)
    var %iks = 1 , %ide $numtok(%haberler,191)
    while (%iks <= $calc(%ide - 1)) {
      var %srdr $gettok(%haberler,%iks,191)
      if (difuzyon isin %srdr) { halt }
      .msg $nick  $replace(%srdr,-,4-10)
      inc %iks
    }
  }

serdar veya difuzyon olması gerek kodun tam bilmiyorum biraz oynadım sende kurcala biraz :) başlangıc benden olsun kırmızı yeri timerdd 0 6000 #kanal gibi degişe bilirsin hiç yoktan örnek olmuş olur

/Haberler

skylord 27 Aralık 2009 13:56

Cevap: Haber Botu
 
Ajan ilgine teşekkür ederim ama yapmayı bılmedıgım ıcın konu acıyorum zefkımden deıl :) ..

Socket calısıyor ama bı kac sorunum var mesela haberler gelirken yanına link gelmıyor sadece haber başlıkları gelıyor ve bi anda 30 40 tane haber atmasını istemiyorum,yenı haber geldıkce son dk guncellendıkce onu atması yeterlı eskılerı atmasına gerek yok :)

Difuzyon 03 Ocak 2010 17:14

Cevap: Haber Botu
 
Kod:

alias haber {
  sockclose dify
  .remove haber.txt
  sockopen dify sondakika.hurriyet.com.tr 80
}
on *:sockopen:dify:{
  sockwrite -n $sockname GET / HTTP/1.1
  sockwrite -n $sockname Host: sondakika.hurriyet.com.tr $+ $crlf $+ $crlf
}
on *:sockread:dify:{
  if ($sockerr) { echo 4 -s Hata meydana geldi | halt }
  else {
    var %yok
    sockread %yok
    if $regex(%yok,/("sondakika_saat"><strong>)/i) { write haber.txt $regsubex(%yok,/(<strong>)/gi,~) | sockclose dify | göster #KANAL }
  }
}
alias -l göster {
  var %dify 1 | while %dify <= $token($read(haber.txt,1),0,126) {
    if $left($token($read(haber.txt,1),%dify,126),5) > $asctime($calc($ctime -300),HH:nn) {
      msg $1 $regsubex($token($read(haber.txt,1),%dify,126),/(</strong><\/td><td width="100%" valign="top"><a href="|" class="sondakika_haberlink" target="_blank">|</a></td></tr><tr><td width="40" valign="top" class="sondakika_saat">)/ig,$chr(32))
    }
    inc %dify
  }
}
menu * {
  Haberler:.timerdify 0 300 haber
}

Hangi #KANAL 'ı belirtirseniz, 5 dakika öncesine ait Son dakika haber mesaj(lar)ını her 5 dakikada bir iletecektir.Bu 5 dakikalık zaman dilimi sizin pc saatinizle ($time) ne kadar örtüşse de haber kaynağı (Hurriyet.com.tr) bazen bu zamanın önünde olabiliyor.Kırmızı olan zaman dilimlerini kendinize göre düzenleyebilirsiniz.

İyi forumlar dilerim...

CipriX 04 Ocak 2010 00:53

Cevap: Haber Botu
 
Balık vermeyin, tutmayı öğretin.

skylord 25 Şubat 2010 17:20

Cevap: Haber Botu
 
Bot çok güzel çalışıyor ama bi kac eksiği var ben her seferinde /haber yazmam lazım ama ben botu vps üzerinden calıştırıcam o yüzden sürekli /haber yazmam mümkün değil
/timerr1 0 300 msg #kanal /haber
yazdıgımda ise kanala " /haber " şeklinde cıkıyor ve buda botu aktif etmiyor
Ben 1 kere /haber yazdıgımda sürekli 5 dk da bir haberleri sıralamasını istiyorum ama yapamadım? :))

Difuzyon 25 Şubat 2010 17:48

Cevap: Haber Botu
 
Kod içerisinde #KANAL kısmını düzenledikten sonra,mouse ile sağ tıkladığında
Haberler
sekmesini seçersen otomatik olarak her 5 dakikada bir #KANAL'a mesaj geçecektir.Yani senin ekstradan komut girmene gerek yok,kod içerisinde mevcut zaten.

skylord 28 Şubat 2010 15:01

Cevap: Haber Botu
 
Difuzyon ellerine saglık calısıyor ama ufak 2 hatası var :)
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
1.Olarak Link ve zamanı birlikte atıyor
2.si Linki sonunda kodlarla alakalı bişe yazıyor bunları duzeltırsek sorun kalmayacak :))
+ benım ıstedıgım bişe var ufak bı renk ekleyebılırız kafana göre olsun class bişe ekleyelım ınsanlar sıyah yazıdanda guzel ufak bı renklı seyı okuması daha cok hoşuna gider

Schwarz 10 Mart 2010 00:02

Cevap: Haber Botu
 
ekledim kodu yanlız calıştıramadım nedendir?


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

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