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/)
-   Eggdrop, NeoStats, BNC (https://www.ircforumlari.net/eggdrop-neostats-bnc/)
-   -   youtube tcl (https://www.ircforumlari.net/eggdrop-neostats-bnc/535856-youtube-tcl.html)

epicemic 28 Haziran 2013 22:42

youtube tcl
 
selam arkadaşlar kolay gelsin. elimde bir youtube tcl var fakat hiç çalıştıramadım.

!youtube sarkiadi yazdığımda

<deneme> Error: Nothing found for 'sarki adi'
yazıyor ve ardından özelime
<deneme> Please use: !youtube KEYWORD

Bu mesajı gönderiyor. fakat hiç link falan göndermiyor.
Elinde çalışan bir youtube tcl olan varmı veyahut bu kodu çalışır duruma getirebilecek bir arkadaşımız ?
Kod :

Kod:

### YouTube Searching script. v0.1
### Made by Mookie       
### Contact me at Efnet for more information or suggestions
### V0.3 Fixed + added spam protection

package require http

### Settings ###

set youtube(timeout) "600000"        ;# Youtube geturl timeout. (better leave this default)
set youtube(results) "5"        ;# Results to display
set youtube(trigger) "!youtube"        ;# Search trigger
set youtube(spam) "10"            ;# Spam protection in seconds

#########################################################
## Don't edit below unless you know what you're doing. ##
#########################################################


bind pub - $::youtube(trigger) youtube

proc youtube {nick uhost hand chan arg} {
    if {[info exists ::checks($nick)] && ([clock seconds] - $::checks($nick)) < $::youtube(spam)} { sendmsg $chan "Fk off spammer.."; return }
    set ::checks($nick) [clock seconds]
    if {$arg == ""} { putmsg $nick "Please use: $::youtube(trigger) KEYWORD"; return }
    set form [http::formatQuery search_query $arg search search]
    set tok [http::geturl
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
set data [http::data $tok]
    http::cleanup $tok
    set a "0"
    while {[regexp -- {<a id="video-short-title.*?" href="(.*?)"  title="(.*?)" rel="nofollow">(.*)$} $data -> number title data]} {
        if {$a == $::youtube(results)} { break }
        sendmsg $chan "\[Title: $title Link:http://youtube.com$number\]"
        incr a
    }
    if {![info exists title]} { sendmsg $chan "\002Error:\002 Nothing found for '$arg'" }
}
proc "sendmsg" { target message } {
    sputraw "PRIVMSG [string tolower $target] :$message"
}
proc "sputraw" { text } {
    set text [string trim $text]
    putdccraw 0 [string length $text\n] $text\n
}


saywhat 28 Haziran 2013 23:16

Cevap: youtube tcl
 
piyasada "abartısız" onlarca yutup kodu var... hemen hemen hepsi işlemez halde...atıl durumda...

diyeceksin niye ?
yutup gibi "büyük abiler" , kodlarıyla oynamayı çok sever...
para desen çuvalla, sürekli olarak güncelleme-düzenleme vs kodları değişip duruyor.
niye bir feysbuk'a script yapılmıyor ? zırt-pırt değişip duruyorlarda o yüzden.
bugün yaparsın yarına gümler...

bu sizin kodun yazarı Mookie'yi efnet'ten tanıyorum.ancak eskisi gibi aktif değil ..bu sizdeki koduda yıllar öncesinden kalma olmalı...
yutup için yapılan scriptler her birkaç ayda bir bozulur çalışmaz olur. kodun yazarı dahi en nihayetinde bıkar bırakır peşini..habire güncelle-yeniden yap..nereye kadar...

saywhat 29 Haziran 2013 10:56

Cevap: youtube tcl
 
kodu burdan alabilirsiniz.. şu an çalışıyor -
edit : arama sonuçlarında verdiği linklerde sorun vardı şimdi onuda onardım -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] artık sorunu yok kodun...

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

saywhat 29 Haziran 2013 15:26

Cevap: youtube tcl
 
bu arada eklemem gerekir koddaki entityToChar proc'u Perplexa'dan alıntıdır.siteden alınan veriyi temizlemek/ayrıştırmak için kullanılan bir kod parçası-UTF-8 karakterlerini'de onarıp kanala postalandığında deforme olmamasını sağlıyor.
kendisini bu vesileyle hörmetle anıyoruz.... + ve tabi kodun asıl sahibi Mookie'ide ....

epicemic 29 Haziran 2013 22:50

Cevap: youtube tcl
 
Emeğine sağlık teşekkürler.

kheldor 01 Temmuz 2013 00:32

Cevap: youtube tcl
 
[00:31:07] <ArchangeL> !youtube matrix
[00:31:30] <ArchangeL> !youtube test

00:31:12] <BT> [23:29:16] longtitle : ved=CAUQvxs&amp;ei=oKPQUeSOC8GF-Ab2kIGIAQ ---- number : o3odej6GD6U ----- title : Geek Wars - 05 - Matrix 3 vs Spiderman 3
[00:31:12] <BT> [23:29:16] Tcl error [youtube]: wrong # args: should be "sendmsg target command message"
[00:31:31] <BT> [23:29:35] longtitle : ei=s6PQUaDYIcWP-waIkIGYBg&amp;ved=CBUQvxs ---- number : yDEahsoa_N4 ----- title : Nokia Lumia 920 Hammer &amp; Knife Scratch Test
[00:31:32] <BT> [23:29:35] Tcl error [youtube]: wrong # args: should be "sendmsg target command message"

Şeklinde hata vermekte son yaptığın kod sevgili saywhat.

fLayer 01 Temmuz 2013 01:48

Cevap: youtube tcl
 
bu koda birde Şarkının indirme linkini verse youtube-mp3.org dan boyle birşey yapabilirmiyiz acaba ?
Radyo ve DjLer için Çok iyi birşey olacagını düşünüyorum

saywhat 01 Temmuz 2013 07:57

Cevap: youtube tcl
 
Kod:

putcmdlog "longtitle : $longtitle ---- number : $number ----- title : $title"
longtitle kanala postalanmıyor log dosyasında görülmesi için putcmdlog komutu veriliyor.partyline'da görünmesi bu nedenle...

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

benim botlarımda hata vermeyen kod/ların sizinkilerde hata vermesinin birkaç türlü açıklaması olabilir.:
1- kodlarla oynuyor/değiştiriyor olabilirsiniz.
2- kullandığınız eggdrop + makinanızdaki kurulu tcl paketi sürümleri bu kod/lardaki eggdrop+tcl komutlarını destekleyemiyecek/tanımlayamıyacak kadar eski/demode. (bende kodun işlediği bot versionu 1.6.21 makinadaki tcl paketi tcl8.5.9)
3- kullandığınız txt. editörü bu tür kodları desteklemiyor.
4- kopyala-yapıştır yaparken kod bozuluyor/kayıyor/yamrılıyor..vs ....

kodlarda yapılacak değişiklikler yapan kişinin sorumluluğudur...

tcl kodları için txt. editörü olarak windows not defteri kullanmamalısınız.kodun bozulmasına yol açabiliyor.

tavsiyem : ya notepad++ ->
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

ya sublime 2 -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
yada programmer's notepad ->
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
kullanmanızdır.. yada yukarda verdiğim kodun linkinden açılacak sayfanın sol üstünden "raw code" tıklayarak indirmeniz ve hiç açmadan direk bot içine atmanız..çünkü görülüyorki bu tür kodları desteklemeyen bir editör kullanarak açarsanız kod bozuluyor./hata alınmasına neden oluyor.

+ log dosyasına yazılması/yada partyline'da link bilgisi postalanması görülmek istenmiyorsa :

Kod:

putcmdlog "longtitle : $longtitle ---- number : $number ----- title : $title"
satırı silinebilir.olmazsa olmaz bişey değil.kodun orjinal yazarı Mookie böyle tercih etmiş.bende dokunmadım.amaç /istenen kodun yeniden çalışır hale gelmesiydi.gerekmeyen/zorunlu olmayan bir değişiklik o nedenle yapmadım.yaptığım değişiklikler kodun yeniden arzu edilen şekilde çalışması için idi ...

diğer konuysa :söz ettiğiniz site bambaşka bir site mp3 indirme linkleri orjinal yutup'da yer alamaz hatta bırakın indirme linkini pek çok ülkede patent/telif hakları nedeniyle yutup linkleri bloke ediliyor. çoğunluklada müzik videoları. örnek Almanya'da geçenlerde konusu geçmişti bi alman arkadaşla konuşurken..

yani sizin isteğiniz aslında bambaşka bir adres için bambaşka bir kodun yazılması.siteye bakmadım henüz ama bazı siteler için kod yazmak o kadarda kolay olmuyor özellikle java script ile kodlanmış siteler için tcl kodlaması hiç kolay iş değil.söz ettiğiniz sitenin kodlarına bi bakarım oluru varsa kısadan kolaydan bitirelebilecek gibiyse yaparım...
ama uğraştıracak bişeyse,o kadar sabırlı bir adam değilim maalesef ..baktım uzun sürecek sıkılır hemen cayarım ,atarım bi kenara bekler durur. bunuda söylemeliyim...

not:
söz ettiğiniz sitede "arama" yapılmıyormuş ...direk yutup linkini yapıştırıp dönüştürmesini bekliyor sonra dönüştürülmüş halinin indirme linki alınıyor ...
(yukardaki kodun her defasında birden fazla link verdiği göz önüne alınırsa her biri için dönüştürmeyi beklemek gerekicektir.)
yani yukardaki kodun çektiği link/lerin yakalanıp bu siteye gönderilmesi sonra orda dönüştürülmüş hal/lerinin link/lerinin alınıp orjinal yutup linklerinin yanında postalanması ...
+ site javascript çalıştırıyor..... zor dostum zor...

Sessiz 06 Temmuz 2013 00:53

Cevap: youtube tcl
 
Merhaba ,
Kod:

                        sendmsg $chan "\Başlık: $title Link: http://youtu.be/$number"
Bu satırı alttaki gibi değiştirebilirsin.

Kod:

sendmsg $chan "Video Izleme Linki: $title Link: http://youtu.be/$number"
sendmsg $chan "Download Linkiniz :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
sendmsg $chan "Download Linkiniz2 :
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
arama esnasında izleme linki ile birlikte download linki de verir.

Saywhat incelemediği için detaylı birşey sanmış.
Bu tarz convert siteleri linkin Youtubenin = den sonra ki vermiş olduğu randomize uzantıyı kullanarak çevirmekte. Çünkü convert mantığı da videonun kaynagına inip flvi sunucuya çekip mp3 e çevirmektir. Yani onlarada Youtubenin video linki lazım ;)
Kolay gelsin..

fLayer 06 Temmuz 2013 01:27

Cevap: youtube tcl
 
(file "scripts/you.tcl" line 1)
invoked from within
"source scripts/you.tcl"
(file "youtube.conf" line 92)
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] boyle bir hata aldım Rica etsem tcL yi tam olarak paylaşabilirmisiniz???

saywhat 06 Temmuz 2013 03:48

Cevap: youtube tcl
 
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] -> [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] <- sol üstte "raw code" yazsına tıklayıp kodu indirebilirsin.

+ not : # işareti tcl'de görülemez yorumsuz gibi bi anlamı var o nedenle linklerdekileri kaçırmak gerekir. ... +info...
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] haklısın hiç dikkat etmedim...di. kullanmadığım için daha evvel böylesi siteleri dikkatimi çekmediydi. ben direk sitenin kaynak kodlarında göz gezdirdim. zaten javascript olayını görünce soğudum hiç bulaşmamaya karar vermiştim.. iyi yakaladın..

->
[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

kheldor 06 Temmuz 2013 07:14

Cevap: youtube tcl
 
Sevgili Abdullahın yayınladığı kod sanırım sitedeki değişiklikler yüzünden sekteye uğramış ve
[07:12:18] <@BT> YouTube Sonuçları
[07:12:18] <@BT> Aradığınız kelimelerle ilgili hiç video bulunamadı
şeklinde hata vermekte. Hata tam olarak nerede . Sevgiler.


PHP- Kodu:

##############################################################################
#                          youtube.tcl by SaW                                #
##############################################################################
# Normal Kullanım :                                                          #
# !youtube <aranacak-kelimeler>                                              #
# Örnek : !youtube komik videolar                                            #
#                                                                            #
# Parametreli Kullanım :                                                     #
# !youtube <parametre> <aranacak-kelimeler>                                  #
#                                                                            #
# Mevcut Parametreler:                                                       #
# -nN : Kaç tane sonucun görüntüleneceğini belirler.                         #
# Örnek : !youtube -n8 komik videolar                                        #
#                                                                            #
# -tN : Arama sonuçlarının neye göre sıralacağını belirler :                 #
# N=1 : Normal Sıralama, N=2 : izlenme sayısına göre                         #
# N=3 : Rating sıralaması, N=4 : Video ekleme tarihine göre sıralar.         #
# Örnek : !youtube -t2 komik videolar                                        #
##############################################################################
# 16 Aralık 2008 Salı                                                        #
# iletişim: abdullah_tas[MENTION=108470]Mynet[/MENTION].com                                           #
##############################################################################

#
## Komutun çalışmasını istediğiniz kanalları aralarına boşluk koyarak belirtiniz.
#
set you(kanal"#belirli"

#
## Arama sonrasında kaç sonucunun ekrana yansıtılacağını seçiniz.
#
set you(maxc5

#
## Sonuçların neye göre sıralanacağını seçiniz.
## 1= Normal sıralama
## 2= İzlenme sayısına göre
## 3= Rating oranına göre
## 4= Eklenme tarihine göre
#
set you(sertype1

###############################################################################
#                     BURADAN SONRASINA DOKUNMAYINIZ!!!!                      #
###############################################################################

bind pub - !youtube ytb

if {$you(sertype) == 1} { set you(stype"" }
if {
$you(sertype) == 1} { set you(stype"&search_sort=video_view_count" }
if {
$you(sertype) == 1} { set you(stype"&search_sort=video_avg_rating" }
if {
$you(sertype) == 1} { set you(stype"&search_sort=video_date_uploaded" }

bind pub - !you ytb
proc ytb 
{nick uhost hand chan text} {
    global 
you
    
if {[lsearch -exact $you(kanal$chan] == -1} {return 0}
    
set searchtype $you(stype)
        
set text [split [string trim $text]]
        if {
$text == ""} {putquick "PRIVMSG $chan :\002Aranacak kelimeyi girmediniz.";return}
    if {[
llength $text] == && [string match -nocase "$texthelp]} {
        
putquick "privmsg $chan :\002You\0030,4Tube\002\003 Arama şekilleri"
        
putquick "privmsg $chan :\0032Normal arama :\003 !youtube <aranacak-kelimeler>" 
        
putquick "privmsg $chan :\0032Parametreli arama :\003 !youtube <parametre> <aranacak-kelimeler>"
        
putquick "privmsg $chan :\002Mevcut Parametreler:"
        
putquick "privmsg $chan :\0032-nN :\003 Kaç tane sonucun görüntüleneceğini belirler. Örnek : !youtube -n8 komik videolar"
        
putquick "privmsg $chan :\0032-tN :\003 Arama sonuçlarının neye göre sıralanacağını belirler :"
        
putquick "privmsg $chan :N=1 : Normal Sıralama, N=2 : izlenme sayısına göre, N=3 : Rating sıralaması, N=4 : Video ekleme tarihine göre sıralar."
        
putquick "privmsg $chan :Örnek : !youtube -t2 komik videolar"
        
return 0
    

    if {[
llength $text] >= && [string match -nocase "-n" [string range [lindex $text 00 1]] && [string length [lindex $text 0]] > && [string length [lindex $text 0]] <= && [string is integer [string range [lindex $text 02 end]] == 1} {
        
set cmax [string range [lindex $text 02 end] ; set text [lrange $text 1 end]
    } else {
        
set cmax $you(maxc)
    }
    if {[
llength $text] >= && [string match -nocase "-t" [string range [lindex $text 00 1]] && [string length [lindex $text 0]] == && [string length [lindex $text 0]] <= && [string is integer [string range [lindex $text 02 end]] == 1} {
        if {[
string index [lindex $text 02] == 1} {
            
set searchtype "" set text [lrange $text 1 end]
        } elseif {[
string index [lindex $text 02] == 2} {
            
set searchtype "&search_sort=video_view_count" set text [lrange $text 1 end]
        } elseif {[
string index [lindex $text 02] == 3} {
                        
set searchtype "&search_sort=video_avg_rating" set text [lrange $text 1 end]
        } elseif {[
string index [lindex $text 02] == 4} {
                        
set searchtype "&search_sort=video_date_uploaded" set text [lrange $text 1 end]
        } else {
            
set searchtype $you(stype) ; set text [lrange $text 1 end]
        }
    }
    if {[
llength $text] > 1} {set text [join [split $text " "] +]}
    
set text [string tolower $text 0 end]
    
putlog "$text"
    
if {$searchtype == ""} {
        
set yousite "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">$text
"
    
} elseif {$searchtype != ""} {
        
set yousite "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">$text$searchtype
"
    
}
    
set sayfa ""
        
catch {set sayfa [::http::geturl $yousite -timeout 3000]} error
        
if {[string match -nocase "*couldn't open socket*" $error]} {
                
putquick "PRIVMSG $chan :Hata: Şuan siteye bağlanılamıyor.. Daha Sonra Tekrar Deneyiniz.."
                
::http::cleanup $sayfa
                
return
        }
        if { [::
http::status $sayfa] == "*timeout*" } {
                
putquick "PRIVMSG $chan :Hata: YouTube'a bağlantı zaman aşımına uğradı.."
                
::http::cleanup $sayfa
                
return
        }
        
set html [::http::data $sayfa]
        ::
http::cleanup $sayfa
    you
:temiz $html
    set count 1
    putquick 
"privmsg $chan :\002You\0030,4Tube\002\003 Sonuçları"
    
foreach [split $html \n] {
        if {[
string match -nocase "*id=\"video-url-*" $y] && $count <= $cmax} {
                        
regexp -- {id=\"video-url-(.*?)\".href=\"/watch.+<img.title=\"(.*?)\"} $y - shr title
                }
        if {[info exists shr]} {
            if {[string match -nocase "
*video-run-time-$shr*$y] && $count <= $cmax} {
                regexp -- {video-run-time-...........\">(.*?)<} 
$y - uzn
            }
        }
        if {[info exists shr] && [info exists uzn]} {
            if {[string match -nocase "
*video-date-added*$y] && $count <= $cmax} {
                regexp -- {video-date-added\">(.*?)<} 
$y - added
            }
        }
                if {[info exists shr] && [info exists uzn] && [info exists added]} {
                        if {[string match -nocase "
*video-view-count*$y] && $count <= $cmax} {
                                regexp -- {video-view-count\">(.*?)views<} 
$y - view
                            putquick "
privmsg $chan :$count -\002\0035 $title"
                putquick "
privmsg $chan :Eklenme zamanı:\0036 $added \003izlenme:\0036 $view \003Uzunluk:\0036 $uzn"
                            putquick "
privmsg $chan :\00314http://
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB">putquick 
"privmsg $chan : "
                            
incr count

                        
}
                }

    }
    if {
$count == 1} { putquick "privmsg $chan :Aradığınız kelimelerle ilgili hiç video bulunamadı" }
}

proc you:temiz {html} {
        
regsub -all {\t$html {} html
        regsub 
-all {&nbsp;} $html {} html
    regsub 
-all {&amp;} $html {&} html
        regsub 
-all {\u015E$html {Şhtml
        regsub 
-all {\u015F$html {şhtml
        regsub 
-all {\u011F$html {ğhtml
        regsub 
-all {\u011E$html {Ğhtml
        regsub 
-all {\u0131$html {ıhtml
        regsub 
-all {\u0130$html {İhtml
        regsub 
-all {&#199;} $html {C} html
    
return $html
}

putlog "youtube.tcl By SaW Başarıyla Yüklendi" 



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

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