IRCForumu.Net - Türkiye'nin IRC ve mIRC Kullanıcılarının Buluştuğu Forum muhabbet


ircforumu sekershell
bizimkiler sosyalchat


Yeni Konu aç Cevapla
 
LinkBack Seçenekler Arama Stil
Alt 10 Haziran 2016, 20:29   #1
Çevrimdışı
!burç <burcunuz> (Yeni sistem)


Reklam

Genellikle yazılan burç kodlarında, çalışma prensibi siteye bağlanıp yorumu alıp kullanıcıya yansıtmaktır ve bu işlevi her istekte tekrarlamak, ama bu sistem bana saçma geldi, çünkü günlük burç yorumu gün içerisinde aynıdır her defasında tekrar bağlanıp siteyle muhattap olmaya gerek yok. Yazdığım kod eğer o günün yorumları daha önceden alınmamışsa siteye bağlanıp tek seferde bütün yorumları alıyor ve isteyen kullanıcılara gönderiyor.

Kullanımı: !burç <burcunuz>

Not: Türkçe karekter duyarlıdır.
!burc koc gibi yazarsanız işlem yapmaz.

Kod:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:sockopen:burç*:{ var %s = sockwrite -n $sockname %s GET /burclar/ $+ $gettok($sockname,2,$asc(+)) $+ -burcu.html HTTP/1.1 %s Host: burc.web.tr | %s } on *:sockread:burç*:{ var %burcyorum sockread %burcyorum if </p></div> isin %burcyorum { $iif(!$read(burç.txt,w,$chr(91) $+ $gettok($sockname,2,$asc(+)) $+ $chr(93)),write burç.txt $chr(91) $+ $gettok($sockname,2,$asc(+)) $+ $chr(93)) write burç.txt $utfdecode($htmlfree(%burcyorum)) } } On *:text:!burç*:#:{ inc -u5 $+(%,play,+,$nick) if $($+(%,play,+,$nick),2) == 3 { ignore -u60 $nick | msg # 5 saniye içinde 3 defa istekte bulunduğun için tarafımdan 60 saniye ignore edildin. | halt } if (!%burçlar) set %burçlar Koç|Boğa|İkizler|Yengeç|Aslan|Başak|Terazi|Akrep|Yay|Oğlak|Kova|Balık if !$2 { msg $chan Burç adı girmediniz. Doğru kullanım: !burç $+(<,%burçlar,>) | halt } if !$istok($+(%burçlar,|,ikizler),$2,124) { msg $chan Burç adını yanlış girdiniz. Doğru kullanım: !burç $+(<,%burçlar,>) | halt } if $date != $read(burç.txt,1) { msg # Bugünün yorumları alınıyor. | burçlarıal | var %yenigün 1 } msg $chan Burcun yorumu özelinize gönderilecek, lütfen bekleyin $nick $+ . msg $nick Seçtiğiniz burç $qt($gettok(%burçlar,$findtok(%burçlar,$iif($2 == ikizler,İkizler,$2),124),124)) | msg $nick - $iif(%yenigün,.timer $+ $ticks 1 6) yorumat $nick $2 } alias yorumat { if $read(burç.txt,w,$+($chr(91),$lower($replace($2,ç,c,ğ,g,ı,i,ç,c,ş,s,İ,i)),$chr(93))) { var %t $read(burç.txt,$calc($readn + 1))), %p 2,%e $numtok(%t,46) while %p <= $calc(%e +1) { msg $1 $gettok(%t,$+($calc(%p -1),-,%p),46) $+ . | inc %p 2 } } } alias burçlarıal { sockclose burç* if (!%burçlar) set %burçlar Koç|Boğa|İkizler|Yengeç|Aslan|Başak|Terazi|Akrep|Yay|Oğlak|Kova|Balık $iif($isfile(burç.txt),.remove burç.txt) | write burç.txt $date | var %burc 1 while %burc <= 12 { sockopen $+(burç,+,$lower($replace($gettok(%burçlar,%burc,124),ç,c,ğ,g,ı,i,ç,c,ş,s,İ,i))) burc.web.tr 80 | inc %burc } } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;,$chr(9)) | return %x }

Genellikle yazılan burç kodlarında, çalışma prensibi siteye bağlanıp yorumu alıp kullanıcıya yansıtmaktır ve bu işlevi her istekte tekrarlamak, ama bu sistem bana saçma geldi, çünkü günlük burç yorumu gün içerisinde aynıdır her defasında tekrar bağlanıp siteyle muhattap olmaya gerek yok. Yazdığım kod eğer o günün yorumları daha önceden alınmamışsa siteye bağlanıp tek seferde bütün yorumları alıyor ve isteyen kullanıcılara gönderiyor.

Kullanımı: !burç <burcunuz>

Not: Türkçe karekter duyarlıdır.
!burc koc gibi yazarsanız işlem yapmaz.

Kod:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:sockopen:burç*:{ var %s = sockwrite -n $sockname %s GET /burclar/ $+ $gettok($sockname,2,$asc(+)) $+ -burcu.html HTTP/1.1 %s Host: burc.web.tr | %s } on *:sockread:burç*:{ var %burcyorum sockread %burcyorum if </p></div> isin %burcyorum { $iif(!$read(burç.txt,w,$chr(91) $+ $gettok($sockname,2,$asc(+)) $+ $chr(93)),write burç.txt $chr(91) $+ $gettok($sockname,2,$asc(+)) $+ $chr(93)) write burç.txt $utfdecode($htmlfree(%burcyorum)) } } On *:text:!burç*:#:{ inc -u5 $+(%,play,+,$nick) if $($+(%,play,+,$nick),2) == 3 { ignore -u60 $nick | msg # 5 saniye içinde 3 defa istekte bulunduğun için tarafımdan 60 saniye ignore edildin. | halt } if (!%burçlar) set %burçlar Koç|Boğa|İkizler|Yengeç|Aslan|Başak|Terazi|Akrep|Yay|Oğlak|Kova|Balık if !$2 { msg $chan Burç adı girmediniz. Doğru kullanım: !burç $+(<,%burçlar,>) | halt } if !$istok($+(%burçlar,|,ikizler),$2,124) { msg $chan Burç adını yanlış girdiniz. Doğru kullanım: !burç $+(<,%burçlar,>) | halt } if $date != $read(burç.txt,1) { msg # Bugünün yorumları alınıyor. | burçlarıal | var %yenigün 1 } msg $chan Burcun yorumu özelinize gönderilecek, lütfen bekleyin $nick $+ . msg $nick Seçtiğiniz burç $qt($gettok(%burçlar,$findtok(%burçlar,$iif($2 == ikizler,İkizler,$2),124),124)) | msg $nick - $iif(%yenigün,.timer $+ $ticks 1 6) yorumat $nick $2 } alias yorumat { if $read(burç.txt,w,$+($chr(91),$lower($replace($2,ç,c,ğ,g,ı,i,ç,c,ş,s,İ,i)),$chr(93))) { var %t $read(burç.txt,$calc($readn + 1))), %p 2,%e $numtok(%t,46) while %p <= $calc(%e +1) { msg $1 $gettok(%t,$+($calc(%p -1),-,%p),46) $+ . | inc %p 2 } } } alias burçlarıal { sockclose burç* if (!%burçlar) set %burçlar Koç|Boğa|İkizler|Yengeç|Aslan|Başak|Terazi|Akrep|Yay|Oğlak|Kova|Balık $iif($isfile(burç.txt),.remove burç.txt) | write burç.txt $date | var %burc 1 while %burc <= 12 { sockopen $+(burç,+,$lower($replace($gettok(%burçlar,%burc,124),ç,c,ğ,g,ı,i,ç,c,ş,s,İ,i))) burc.web.tr 80 | inc %burc } } alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;,$chr(9)) | return %x }

  Alıntı ile Cevapla

IRCForumu.Net - Reklam Alanı

Cevapla

Etiketler
&ltburcunuz&gt, <burcunuz>, burç, sistem, yeni
IRCForumu.Net - Sponsor Bağlantılar


Seçenekler Arama
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık