Giriş

Orijinalini görmek için tıklayınız : Wikipedia Search


Toprak
27 Ocak 2015, 22:47
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)) [Only Registered Users Can See Links]
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\40bulu nmamaktadı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 [Only Registered Users Can See Links] $+ $cozumle(%wpc) }
}

on *:sockopen:wikidia: {
sockwrite -n $sockname GET $+(/wiki/,$cozumle(%wpc)) [Only Registered Users Can See Links]
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\40bulu nmamaktadı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 [Only Registered Users Can See Links] $+ $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: Kemal Sunal - Vikipedi ([Only Registered Users Can See Links])

Örnek resim1:

[Only Registered Users Can See Links] ([Only Registered Users Can See Links])

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:

[Only Registered Users Can See Links] ([Only Registered Users Can See Links])

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.