Toplam bulunan ürün sayısını gösteren site kodu değiştiğinden buda çalışmıyordu..onarıldı-> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
yenilendi. (eskiside hala çalışıyordu gerçi ya , bu sürümde eskisinde olmayan birkaç yeni özellik eklendi. ister kanalda ister bot özelinde sorgu yapılabilmesi vs gibi ..)
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Kod: Kodu kopyalamak için üzerine çift tıklayın!
################################################################################################
################AYARLAR#########################################################################
################################################################################################
## tcllib http paketi gerektirir.
package require http
## kanalda aktif etmek için: .chanset #kanal +gitti
setudef flag gitti
## komutu kullanma erişimi:
set gitflag "-|-"
## komut başına gelecek sembol/işaret/trigger ne olacak:
set gitsemb "."
## gösterilecek arama sonuç sayısı ne olmalı :
set gitsay "4"
## komut ne olmalı
set gitkmt "gitti"
## bot özelinde de çalışması isteniyor mu ? : 1 = evet , 0 = hayır
set gitmsg 1
## aynı kişinin sorgular arası en az beklemesi gereken süre (saniye)
set gitkontr "10"
#################################################################################################
######################AYARLARIN SONU#############################################################
#################################################################################################
foreach bind [split $gitkmt " "] {
bind pub $gitflag $gitsemb$bind gettiii:gidiyo_pub
if {$gitmsg >= 1} {
bind msg $gitflag $gitsemb$bind gettiii:gidiyo_msg
}
}
proc gettiii:gidiyo_pub {nick uhost hand chan text} {
if {![channel get $chan gitti]} { return 0 }
gettiii:gidiyo_main $nick $uhost $hand $chan $text
}
proc gettiii:gidiyo_msg {nick uhost hand text} {
gettiii:gidiyo_main $nick $uhost $hand $nick $text
}
proc gettiii:gidiyo_main {nick uhost hand chan text} {
set q [join [lrange [split [string tolower $text]] 0 end]]
set q [string map -nocase {
\u0131 i \u00fc u \u011f g \u015f s \u00e7 c \u00f6 o
\u015e S \u00c7 C \u011e G \u00d6 O \u00dc U \u0130 I} $q]
set host [lindex [split $uhost @] 1]
if {[throttled $host,$chan $::gitkontr]} {
puthelp "notice $nick :\002Flood yapmayın !!!\002 - \
\00314[expr {[clock seconds] - $::throttled($host,$chan)}] saniye sonra yeniden deneyebilirsiniz...\003"
return 0
}
if {[llength $q] eq "0"} {
puthelp "notice $nick :\00304Kullanım şekli:\003 \002$::lastbind <aradığınız ürün>\002"
return 0
}
::http::config -useragent "Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)"
set url [::http::geturl " Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 12000]
set data [split [::http::data $url] "\n"]
::http::cleanup $url
putserv "privmsg $chan :\026[filter $q] aranıyor.Lütfen bekleyin...\026"
# if {[encoding system] ne "utf-8"} {
# set data [encoding convertto utf-8 $data]
# } else {
# set data [encoding convertfrom utf-8 $data]
# }
set arat ""; set sonuc ""
regexp {<h1>(.*?)<.+<span>(.*?)<} $data "" arat sonuc
if {![info exists arat] || [llength $arat] eq 0} {
puthelp "privmsg $chan :\026[filter $q] aramanizla eşleşen sonuç bulunamadı...\026"
return
}
putserv "privmsg $chan :\00304,1$arat\003 \026aramanızla eşleşen \002$sonuc\002 adet ürün bulundu...\026"
#regsub -all -- {\n|\t} $data "" data
regsub -all -- {price-text">(.*?)</span>} $data "|" data
set i 0
foreach gitti [split $data "|"] {
regexp {itemprop="name" title=".*?">(.*?)</a>} $data "" urun
regexp {itemprop="price">(.*?)</span>} $data a bedel
regexp {product-title"><a href="(.*?)"} $data s gurl
regexp {product-subtitle">(.*?)</p>} $data d subt
regsub {itemprop="name" title=".*?">(.*?)</a>} $data "" data
regsub {itemprop="price">(.*?)</span>} $data "" data
regsub {product-title"><a href="(.*?)"} $data "" data
regsub {product-subtitle">(.*?)</p>} $data "" data
if {$i == $::gitsay} break
set cikti "\00306$urun\003 \00312$subt\003 \00304\002$bedel\002\003 \00302\037$gurl\037\003\n\r"
set cikti [string map -nocase {\" "" \& "" \ ""} $cikti]
regsub -all -- {<.*?>} $cikti "" cikti
putserv "privmsg $chan :$cikti"
incr i
}
}
proc filter {text} {
set text [string map {
"Ğ" "\u011e" "Ş" "\u015e" "İ" "\u0130" "o" "\u00d6" "c" "\u00c7" "u" "\u00dc" "ş" "\u015f"
"ğ" "\u011f" "ı" "\u0131" "o" "\u00f6" "c" "\u00e7" "u" "\u00fc"} $text]
return [subst $text]
}
## http://is.gd/SVU9r1
proc throttled {id time} {
global throttled
if {[info exists throttled($id)]} {
return 1
} {
set throttled($id) [clock seconds]
utimer $time [list unset throttled($id)]
return 0
}
}
putlog "\00304Tcl Surumu\003 :\00311 $tcl_patchLevel \003- \00304Tcl Dizin\003 :\00311 $tcl_library \003- \00304Eggdrop Surumu\003 :\00311 [lindex $version 0] \003"
putlog "\00304Http Paket Surumu\003 :\00311 [package present http] \003- \00304Sistem Encoding\003 :\00311 [encoding system] \003"
putlog "\00304Host\003 :\00311 [info hostname] \003- \00304OS\003 :\00311 $::tcl_platform(os) $::tcl_platform(osVersion)/$::tcl_platform(machine) \003"
putlog "\00304Sunucuya Bagli Oldugu Sure\003 :\00311 [duration [expr {[clock seconds] - ${server-online}}]] \003"
putlog "\00304Bot Uptime\003 :\00311 [duration [expr {[clock seconds] - $::uptime}]] \003- \00304Tarih\003 :\00311 [ctime [unixtime]] $::timezone \003"
putlog "\00304Irc Gorunumu\003 :\00311 $::botname $::realname \003- \00304Bagli Oldugu Sunucu\003 :\00311 $::serveraddress \003- \00304.Conf Dosyasi\003 :\00311 $::config \003"