IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Scripting Hazır Kodlar (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/)
-   -   IF-Bots (https://www.ircforumlari.net/mirc-scripting-hazir-kodlar/724640-if-bots.html)

YouMyCure 26 Ocak 2016 13:46

IF-Bots
 
Selam,
Adındanda anlaşılacağı üzere ircforumlari.net ile ilgili paylaşım.
Kullanım;
!sayfa NUMARA şeklinde forumdaki hazır kodlar kategorisindeki belirtilen sayfadaki 'etiketli' konuları yansıtmaya yarar.
matık şudur ircforumlari.net üzerinde rss sistemi var lakin tüm sayfaları görmek mümkün değil rss üzerinden açık kaynak kod erişimide engellenmiş durumda. bot ilk önce benim kendi siteme bir sock açarak ircforumlari.net üzerindeki konuları kendi siteme yazdırıyor. daha sonra başka bir socketle bu verileri veritabanına yazdırıp belirtilen kanala yansıtıyor. ayrıca aynı mantıkla yeni açılan konularıda otomatikmen kanala bildirebiliyor.


alias _kkkkk { return #ms }
bu kısımdaki kanalı değiştirerek kullanabilirsiniz.


Kod:

alias _kkkkk { return #ms }
alias _html { return $+(
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
alias _konul { return $_htmlfree($gettok($1,10,$asc(_))) }
alias _linkk { return $gettok($token($gettok($1,10,$asc(_)),8,$asc(=)),1,$asc(")) }
alias _htmlfree { if ($len($1-) <= 900) { var %x, %i = $regsub($1,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, ,$chr(9)) | return %x } }
alias _dd return $replace($1-,Ö,ö,Ç,ç,İ,i,ö,ö,ç,ç,ü,ü,ÅŸ,ş,ı,ı,Å?,ş,ÄŸ,ğ,Ü,ü,Ä?,ğ,$chr(39),-)
alais _ifbot return IF
on *:sockopen:aaa: {
  sockwrite -nt $sockname GET $+(/index,%&&,.html) HTTP/1.1
  sockwrite -nt $sockname Host:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sockwrite -nt $sockname $crlf
  sockwrite -nt $sockname Connection: keep-alive
  sockwrite -nt $sockname Cache-Control: max-age=0
  sockwrite -nt $sockname Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
}

on *:sockopen:ifymc:{
  sockwrite -nt $sockname GET /external.php?type=rss2&forumids=70 HTTP/1.1
  sockwrite -nt $sockname Host:
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sockwrite -nt $sockname $crlf
  sockwrite -nt $sockname Connection: keep-alive
  sockwrite -nt $sockname Cache-Control: max-age=0
  sockwrite -nt $sockname Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  sockwrite -nt $sockname User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
}
on *:sockread:ifymc:{
  var %:ifymc | sockread %:ifymc
  if (<title> isin %:ifymc) { .hadd -ms ff Başlık $_dd($_htmlfree(%:ifymc)) }
  if (<link> isin %:ifymc) { .hadd -ms ff Link $_htmlfree(%:ifymc) }
  if (<pubDate> isin %:ifymc) { .hadd -ms ff Tarih $_htmlfree(%:ifymc) }
  if (<description> isin %:ifymc) {
    .hadd -ms ff Konu $iif(*[CDATA* iswm %:ifymc,$_dd($token($token($replace(%:ifymc,&gt;,$chr(62)),3,91),1,93)),$_dd($_htmlfree(%:ifymc)))
    if !$read(llll.txt,w,$hget(ff,Link)) {
      .write ifymc.txt isim; $hget(ff,Başlık)
      .write ifymc.txt link; $hget(ff,Link)
      .write ifymc.txt tarih; $hget(ff,Tarih)
      .write ifymc.txt içerik; $hget(ff,Konu)
      .write ifymc.txt -
      .write llll.txt $hget(ff,Link)
      sockclose $sockname
      _yyy
    }
  }
}

on *:sockread:aaa:{
  var %i
  sockread %i
  if *HTTP/1.1*302*Found* iswm %i {
    sw_iibot privmsg $_kkkkk 14Belirtilen Sayfa Bulunamadı.
  }
  elseif *Yazan;* iswm %i {
    if *(* !iswm $_konul(%i) || *.html* !iswm $_linkk(%i) { halt }
    if *ircforumlari* iswm $_linkk(%i) {
      sw_iibot privmsg $_kkkkk 4Konu $+(%ii,:,2) $gettok($_konul(%i),1,40) 4Link:1 $_linkk(%i)
      write veri.txt $_linkk(%i)
      inc %ii
    }
    elseif *ircforumlari* !iswm $_linkk(%i) {
      sw_iibot privmsg $_kkkkk 4Konu $+(%ii,:,2) $gettok($_konul(%i),1,40) 4Link:1 $_html($_linkk(%i))
      write veri.txt $_html($_linkk(%i))
      inc %ii
    }
  }
}

alias ifac { sockclose _iibot | /sockopen _iibot IRC.ESohbet.Net 6667 }

alias _iibot return IF
on *:sockopen:_iibot:{
  if ($sockerr) { echo $color(info) -st bot bağlanamadı. | return }
  sw_iibot NICK $_iibot
  sw_iibot USER ~IRC@ * * :Coded by YouMyCure
  sockmark $sockname $_iibot
}
on *:sockread:_iibot:{
  var %; | sockread %; | tokenize 32 %;
  ; if !$window(@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]bug) { window -k0 @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]bug } | aline -p @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]bug $timestamp < $1-
  swalias $1-
}
alias sw_iibot { if $sock(_iibot) { sockwrite -n _iibot $1- } }
alias swalias {
  if $sock(_iibot) {
    var %: = echo $color(info) -st > Socket mathbot:
    if :VERSION iswm $4- { sw_iibot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ VERSION mIRC v6.35 Khaled Mardam-Bey $+ $chr(1) }
    if :FINGER iswm $4- { sw_iibot NOTICE $gettok($gettok($1,1,33),1,58) : $+ $chr(1) $+ FINGER Recep Şentürk $+ $chr(1) }
    if $1 == PING { sw_iibot PONG $2- }
    if $2 == 376 { sw_iibot join 0 | sw_iibot identify $_npass | ccc }
    if $2 == PRIVMSG {
      if $regex($4-,/([.!-&]sayfa)/Si) {
        unset %ii
        set %ii 1
        set %&& $5
        sockclose aaa
        .timer 1 1 sockopen aaa [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 80
        write -c veri.txt
      }
    }
  }
}
;-------------------------------------------------------------
alias ccc echo -a @Takip Veri Alımına Başlandı | .timerIFIF 0 300 _ifymc
alias _ifymc { sockclose ifymc | sockopen ifymc [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 80 }
alias _yyy {
  var %:yyy 1
  while (%:yyy <= $lines(ifymc.txt)) {
    sw_iibot privmsg $_kkkkk $read(ifymc.txt,%:yyy)
    inc %:yyy
  }
  .remove ifymc.txt
}

mS-Coder(s) ESohbet.Net AR-GE Ekibi

Feragat 26 Ocak 2016 21:53

Cevap: IF-Bots
 
Şahsen Socketler konusundan nefret etsem de bu alanda yeni bir şeyler paylaşıldığını görmek güzel.

Kod ile ilgili bir kaç fikir vereyim

1- [.!-&]
Regex içinde kullanılan köşeli parantez operatörü, tek karakter olasılığı belirlemenin yanı sıra, - karakteri ile aralık vermeyi de sağlar. [1-5] [a-z] [b-h] vs. gibi.. Metakarakterleri veya regex operatörlerini regex içinde kullanırken, bunları tanımlayıcı yardımcı operatörlerden destek alabilirsiniz.
Örnek: \Q \E Bu operatörler içinde kullanacağınız regex metakarakterleri düz metin gibi algılanacaktır.
Bunun dışında meta ve regex karakterlerini bir metin gibi kullanabilmek için mevcut karakterlerin 8 octal veya 16 hexadecimal karşılıklarını da regex üzerinde kullanabilirsiniz.

8 octal sayı sistemi = (0,1,2,3,4,5,6,7)
16 Hexadecimal sayı sistemi = (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

NOT: Bir karakterin 16 hexadecimal karşığını regex içinde kullanırken \x operatörünü kullanabilirsiniz.
Örnek: \x2E nokta karakterini temsil eder gibi..

8 octal da ise yalnızca \ bu operatörü kullanabilirsiniz.
Örnek: \56 nokta karakterini temsil eder.
$base tanımı ile bu değerlere ulaşabilirsiniz.
Tabi ihtiyaç oldukça kullanıp abartmamak gerek ;=)

2- sockwrite komutunda -t anahtarı.
Bu anahtar, yollanan veri &binary değişkeni olsa bile, düz metin olarak yorumlamaya zorlar.

Daha geniş açıklamalar yapıp içimi dökmek isterdim ama araştırıp keşfetmek daha zevkli

Faydalı kaynaklar.
1- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
2- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
3- [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

kolay gelsin.

Goemon 26 Ocak 2016 22:40

Cevap: IF-Bots
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Eline Sağlık Kardeşim.Güzel Çalışma Bu Çalışmanı Geliştirmen Dileğiyle.

SuLh 26 Ocak 2016 22:43

Cevap: IF-Bots
 
Eline sağlık dostum.

Lips2Lips 30 Ocak 2016 11:24

Cevap: IF-Bots
 
Başarılar Diliyorum Güzel Çalışma Üstad .

xQueLL 30 Ocak 2016 18:24

Cevap: IF-Bots
 
eline sağlık sevdim bunu :))

YouMyCure 05 Şubat 2016 14:56

Cevap: IF-Bots
 
Kendi Sitemdeki php dosyalarını kaldırdığım için kod deaktif kullanacak olan olursa pm atarsa kendi sitesine dosyaları atıp oradan işlem yapmayı sağlayabilirim. konu kilitlenebilir. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


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

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