Feragat | 10 Eylül 2013 02:27 | Wikipedia Search Kod:
alias -l duzelt return $replacecs($1-,ü,ü,ı,ı,ÅŸ,ş,Å,Ş,ç,ç,Ö,Ö,ö,ö,ÄŸ,ğ,’,',İ,İ,Ü,Ü,Ç,Ç,â,â,â€,-)
alias -l cozumle return $replacecs($1-,Ş,$chr(37) $+ C5 $+ $chr(37) $+ 9E,Ü,$chr(37) $+ C3 $+ $chr(37) $+ 9C,ş,$chr(37) $+ C5 $+ $chr(37) $+ 9F,ğ,$chr(37) $+ C4 $+ $chr(37) $+ 9F,ı,$chr(37) $+ C4 $+ $chr(37) $+ B1,İ,$chr(37) $+ C4 $+ $chr(37) $+ B0,Ç,$chr(37) $+ C3 $+ $chr(37) $+ 87,ç,$chr(37) $+ C3 $+ $chr(37) $+ A7,ü,$chr(37) $+ C3 $+ $chr(37) $+ BC,ö,$chr(37) $+ C3 $+ $chr(37) $+ B6,Ö,$chr(37) $+ C3 $+ $chr(37) $+ 96)
alias -l \-/ { if !$regex($sock(wiki).status,/^active$/i) { sockopen wiki tr.wikipedia.org 80 } }
alias -l \wik/ { if !$regex($sock(wikidia).status,/^active$/i) { sockopen wikidia tr.wikipedia.org 80 } }
on *:sockopen:wiki: {
sockwrite -n $sockname GET $+(/wiki/,$cozumle(%wpc)) HTTP/1.0
sockwrite -n $sockname host: $sock($sockname).addr
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}
on *:sockread:wiki: {
if ($sockerr) { /msg %c- 4Bağlantı Hatası! 5Hata No:2 $sock($sockname).wserr 5Hata Mesajı:2 $sock($sockname).wsmsg | halt }
var %wiki | sockread %wiki
if $regex(%wiki,/<\160><\142>/i) {
if $regex($duzelt(%wiki),/Vikipedi\S{1}de\40bu\40isimde\40bir\40madde\40bulunmamaktadır\./i) {
/msg %c- Vikipedi'de bu isimde bir madde bulunmamaktadır. | set -e %&$ okay | sockclose wiki }
else { /msg %c- $regsubex($duzelt(%wiki),/<[^>]+>|\[\d+\]/g,) }
}
}
on *:sockclose:wiki: {
if !$regex(%&$,/^okay$/) { /msg %c- 5Sorgulanan Kriterin Linki:5 http://tr.wikipedia.org/wiki/ $+ $cozumle(%wpc) }
}
on *:sockopen:wikidia: {
sockwrite -n $sockname GET $+(/wiki/,$cozumle(%wpc)) HTTP/1.0
sockwrite -n $sockname host: $sock($sockname).addr
sockwrite -n $sockname Connection: close
sockwrite -n $sockname $crlf
}
on *:sockread:wikidia: {
if ($sockerr) { /did -a wikidia 6 Bağlantı Hatası! Hata No: $sock($sockname).wserr Hata Mesajı: $sock($sockname).wsmsg | halt }
var %wiki | sockread %wiki
if $regex(%wiki,/<\160><\142>/i) {
if $regex($duzelt(%wiki),/Vikipedi\S{1}de\40bu\40isimde\40bir\40madde\40bulunmamaktadır\./i) {
/did -a wikidia 4 Vikipedi'de bu isimde bir madde bulunmamaktadır. | sockclose wikidia }
else { /did -a wikidia 4 $regsubex($duzelt(%wiki),/<[^>]+>|\[\d+\]/g,) }
}
}
on *:sockclose:wikidia: { /did -a wikidia 6 http://tr.wikipedia.org/wiki/ $+ $cozumle(%wpc) }
on *:input:#: {
if $regex($1-,/^[\.!]wiki\s.+$/S) {
unset %&$ | set -e %c- $chan
set -e %wpc $regsubex($replacex($2-,$chr(32),$chr(95)),/((?<=^|\_)(.))/Sg,$upper(\1)) | /\-/
}
}
alias -l wikitara { if (%wpsearch) {
unset %&$ | set -e %wpc $regsubex($replacex(%wpsearch,$chr(32),$chr(95)),/((?<=^|\_)(.))/Sg,$upper(\1)) | /\wik/ }
}
dialog wikidia {
title "mIRC Wiki"
size -1 -1 180 186
option dbu
edit "", 2, 5 9 87 10
button "Aramaya Başla", 3, 94 8 47 12, flat
edit "", 4, 4 27 167 132, read multi vsbar
text "Sorgulanan Kriterin Linkini Görmek için Tıklayın", 5, 4 160 142 8
link "Wiki Link", 6, 3 171 143 8
}
on *:dialog:wikidia:sclick:6: { $iif($did(6).text == Wiki Link,return,/run $did(6).text) }
on *:dialog:wikidia:sclick:3: { /did -r $dname 4 | /did -r $dname 6 | /set -e %wpsearch $did(2).text | /wikitara }
menu * {
.Wiki Search:/dialog -m wikidia wikidia
}
Kullanımı: İki şekilde kullanılabilir. 1. Kullanım Şekli: Herhangi bir kanalda !wiki <aranacak kriter> şeklindedir. Örnek:
[01:56] <Feragat> !wiki kemal sunal
[01:56] <Feragat> Ali Kemal Sunal (11 Kasım 1944, İstanbul; 3 Temmuz 2000, İstanbul), Türk tiyatrocu, komedi oyuncusu, sinema sanatçısı ve yazar.
[01:56] <Feragat> Sorgulanan Kriterin Linki: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
Örnek resim1: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 2. Kullanım Şekli: mIRC'in herhangi bir ekranında sağ tık yaparak Wiki Search seçeneğinden dialogu açıp sorgu yapılabilir. Örnek resim2: [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Not: Wikipedia'dan kısa bilgiler alacak şekilde ayarlanmıştır. Bazı sorgularda tek satırlık kısa özetler yansıtmaktadır, ayrıca sorguya ait site linkinide verir. (resimlerde de görüldüğü gibi). Kodu yapmamın tek amacı, neler yapabildiğimi görmek içindir. Kişiye göre bu kod, daha sade veya farklı yollardan da yazılabilir. (Açıkcası sade olsun, aman bi kaç karakter az olsunda kod 1 milisaniye daha hızlı çalışsın vs. gibi endişe duymadan yaptım. Fakat dileyen kendine göre fazla gördüğü kısımları atarak düzenleyip kullanabilir. ) İyi forumlar. |