Giriş

Orijinalini görmek için tıklayınız : Dj'ler için dj.tcl


No_FeaR
17 Mart 2015, 21:47
TCL Name: DJ.TCL

Merhabalar,

Radyo Dj'leri icin hazirlanmis olan dj.tcl 'de !istek , !var , !yok , !ara komutları mevcuttur.
Dj kanalında İstek isteyenin nicki , isteği ve isteğinin mp3 'e çevirilmiş hali otomatik olarak cıkmaktadır..

Komutlar:
RADYO KANALINDA İSTEK İSTEMEK İÇİN:
!istek şarkı

ŞARKI VARSA KİŞİNİN ÖZELİNE MESAJ YOLLAMAK İÇİN (dj kanalında):
!var nick

ŞARKI YOKSA KİŞİNİN ÖZELİNE MESAJ YOLLAMAK İÇİN (dj kanalında):
!yok nick

İSTENİLEN ŞARKI DJ KANALINDA DOĞRU LİNK OLARAK ÇIKMAMIŞSA MANUEL ARAMA YAPMAK İÇİN (dj kanalında):
!ara şarkı

Tcl de radyo ve dj kanal isimlerini + bekleme süresini editlemeyi unutmayınız.

## ## ## ####### ## ## ####### ## ## ####### ####### ##
# ## ## ## ## ## ## ### ## ## ## # ## #
# ####### ## ## ## ## ### ## ## ####### #### #
# ## ## ## ## ## ### ## ## ## # ## #
# ## ####### ####### ### ####### ####### ####### #
## Editing By rascoLn ##

set araislem(trigger) "!ara" ;# sadece dj kanalindakilerin kullanacagi komut (eger istenilen sarki linki cikmaz ise)
set istekislem(trigger) "!istek" ;# istek komutu
set varislem(trigger) "!var" ;# sarki var ise yazilacak komut
set yokislem(trigger) "!yok" ;# sarki yok ise yazilacak komut
set radyo "#spor" ;# istek yapilacak kanal
set dj "#dj" ;# istegin gonderilecegi kanal
set timetube "15" ;# Tekrardan istek yapabilmek icin beklenen sure

bind pub - $araislem(trigger) aratube
bind pub - $istekislem(trigger) istektube
bind pub - $varislem(trigger) vartube
bind pub - $yokislem(trigger) yoktube

proc istektube {nick host hand chan arg} {
if {[info exists ::checks($host)] && ([clock seconds] - $::checks($host)) < $::timetube} { putquick "privmsg $nick :Sayin. \002$nick\002 \[\0034 15 \003\] saniye sonra tekrardan istek yapabilirsiniz.. \003"; return }
set ::checks($host) [clock seconds]
if { $::radyo ne $chan } { largetext privmsg $nick "istekler sadece $::radyo kanalindan yapilmaktadir."; return 0 }
if {$arg == ""} { largetext privmsg $nick "\002Istek Kullanimi:\002 $::radyo kanalinda $::istekislem(trigger) <isteginiz> seklindedir."; return 0 }
largetext privmsg $::dj "\t\t\t\t\0030,5\002 G E L E N - I S T E K \003"
largetext privmsg $::dj "--------------------------------------------------"
largetext privmsg $::dj "\0034NICK :\003 $nick | \0034ISTEGI :\003 $arg"
largetext privmsg $::dj "--------------------------------------------------"
largetext privmsg $::radyo "\00315,1 >\0030> \0039Isteginiz Radyo Dj'imize Iletilmistir. \00311$nick \0030<\00315< \003"
youtube $nick $host $hand $chan $arg
}

proc youtube {nick host hand chan arg} {
set form [string map -nocase {" " "+"} $arg]
catch { exec curl -v "[Only Registered Users Can See Links]$form" } data
if {[regexp -- {</div><div class="yt-lockup-content"><h3 class="yt-lockup-title"><a href="(.*?)" class="yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2 yt-uix-sessionlink spf-link " data-sessionlink=".*?" title="(.*?)" aria-describedby=".*?" rel="spf-prefetch" dir="ltr">.*?</a><span class="accessible-description" id=".*?"> - (.*?).</span></h3>(.*)$} $data -> number title sure data]} {
largetext privmsg $::dj "< You\0030,4tube\003 > \00304Baslik :\00301 [string map -nocase {"°" "I" "ÄŸ" "g" "Ä°" "i" "ç" "c" "ı" "i" "ü" "u" "ÅŸ" "s" "^ž" "s" "ö" "o"} $title] | \0030,1 $sure \003"
largetext privmsg $::dj "< You\0030,4tube\003 > \00304Youtube linki:\00301 [Only Registered Users Can See Links]$number\003"
largetext privmsg $::dj "< You\0030,4tube\003 > \00300,1 MP3 olarak indir: \00300,4 [Only Registered Users Can See Links][string map -nocase {"\/watch\?" ""} $number]\003"
largetext privmsg $::dj "--------------------------------------------------"
return 0
}
if {![info exists title]} { utimer 1 [list youtube $nick $host $hand $chan $arg] }
}

proc aratube {nick host hand chan arg} {
if { [onchan $nick $::dj] && ($chan eq $::dj)} {
if {$arg == ""} { largetext privmsg $chan "\002Kullanimi:\002 $::istekislem(trigger) <isteginiz>"; return 0 }
set form [string map -nocase {" " "+"} $arg]
catch { exec curl -v "[Only Registered Users Can See Links]$form" } data
if {[regexp -- {</div><div class="yt-lockup-content"><h3 class="yt-lockup-title"><a href="(.*?)" class="yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2 yt-uix-sessionlink spf-link " data-sessionlink=".*?" title="(.*?)" aria-describedby=".*?" rel="spf-prefetch" dir="ltr">.*?</a><span class="accessible-description" id=".*?"> - (.*?).</span></h3>(.*)$} $data -> number title sure data]} {
largetext privmsg $::dj "--------------------------------------------------"
largetext privmsg $::dj "< You\0030,4tube\003 > \00304Baslik :\00301 [string map -nocase {"°" "I" "ÄŸ" "g" "Ä°" "i" "ç" "c" "ı" "i" "ü" "u" "ÅŸ" "s" "^ž" "s" "ö" "o"} $title] | \0030,1 $sure \003"
largetext privmsg $::dj "< You\0030,4tube\003 > \00304Youtube linki:\00301 [Only Registered Users Can See Links]$number\003"
largetext privmsg $::dj "< You\0030,4tube\003 > \00300,1 MP3 olarak indir: \00300,4 [Only Registered Users Can See Links][string map -nocase {"\/watch\?" ""} $number]\003"
largetext privmsg $::dj "--------------------------------------------------"
return 0
}
if {![info exists title]} { utimer 1 [list aratube $nick $host $hand $chan $arg] }
}
}

proc vartube {nick host hand chan arg} {
if { $::dj ne $chan } { return 0 }
if { $arg eq "" || [llength $arg] >= 2 } { largetext privmsg $chan "\002Kullanimi:\002 $::varislem(trigger) <nick>"; return 0 }
putquick "privmsg [lindex $arg 0] :Repertuarimizda isteginiz bulunmaktadir. Isteginiz isleme alinmistir."
putquick "privmsg [lindex $arg 0] :Bizi dinlediginiz icin tesekkur eder iyi sohbetler dileriz.."
}

proc yoktube {nick host hand chan arg} {
if { $::dj ne $chan } { return 0 }
if { $arg eq "" || [llength $arg] >= 2 } { largetext privmsg $chan "\002Kullanimi:\002 $::yokislem(trigger) <nick>"; return 0 }
putquick "privmsg [lindex $arg 0] :Repertuarimizda isteginiz bulunmamaktadir."
putquick "privmsg [lindex $arg 0] :Bizi dinlemeye devam edebilir veya baska istekte bulunabilirsiniz. iyi sohbetler dileriz.."
}

proc largetext {type target text {delims {" "•,.!?}}} {
set lineLen [expr {412 - [string length ":$::botname $type [join $target] :\r\n"]}]

if {[string length $text] <= $lineLen} {
putquick "$type $target :[entityToChar $text]"
return 0
}

set _text [split [entityToChar $text] $delims]
set x 0
set i 0

while {$x < $lineLen} {
if {$i >= [llength $_text]} {
return 0
}

set wordlen [string length [lindex $_text $i]]
if {$x + $wordlen > $lineLen} {
break
}

incr x $wordlen
incr x
incr i
}

putquick "$type $target :[string range [entityToChar $text] 0 [expr {$x - 1}]]"
largetext $type $target [string trimleft [string range [entityToChar $text] $x end]] $delims
}

proc entityToChar {text {char utf-8}} {
if {![string match *&* $text]} {return $text}

set escapes {
&nbsp; \xa0 &iexcl; \xa1 &cent; \xa2 &pound; \xa3 &curren; \xa4
&yen; \xa5 &brvbar; \xa6 &sect; \xa7 &uml; \xa8 &copy; \xa9
&ordf; \xaa &laquo; \xab &not; \xac * \xad &reg; \xae
&macr; \xaf &deg; \xb0 &plusmn; \xb1 ² \xb2 ³ \xb3
&acute; \xb4 &micro; \xb5 &para; \xb6 &middot; \xb7 &cedil; \xb8
¹ \xb9 &ordm; \xba &raquo; \xbb ¼ \xbc ½ \xbd
¾ \xbe &iquest; \xbf &Agrave; \xc0 &Aacute; \xc1 &Acirc; \xc2
&Atilde; \xc3 &Auml; \xc4 &Aring; \xc5 &AElig; \xc6 &Ccedil; \xc7
&Egrave; \xc8 &Eacute; \xc9 &Ecirc; \xca &Euml; \xcb &Igrave; \xcc
&Iacute; \xcd &Icirc; \xce &Iuml; \xcf &ETH; \xd0 &Ntilde; \xd1
&Ograve; \xd2 &Oacute; \xd3 &Ocirc; \xd4 &Otilde; \xd5 &Ouml; \xd6
&times; \xd7 &Oslash; \xd8 &Ugrave; \xd9 &Uacute; \xda &Ucirc; \xdb
&Uuml; \xdc &Yacute; \xdd &THORN; \xde &szlig; \xdf &agrave; \xe0
&aacute; \xe1 &acirc; \xe2 &atilde; \xe3 &auml; \xe4 &aring; \xe5
&aelig; \xe6 &ccedil; \xe7 &egrave; \xe8 &eacute; \xe9 &ecirc; \xea
&euml; \xeb &igrave; \xec &iacute; \xed &icirc; \xee &iuml; \xef
&eth; \xf0 &ntilde; \xf1 &ograve; \xf2 &oacute; \xf3 &ocirc; \xf4
&otilde; \xf5 &ouml; \xf6 &divide; \xf7 &oslash; \xf8 &ugrave; \xf9
&uacute; \xfa &ucirc; \xfb &uuml; \xfc &yacute; \xfd &thorn; \xfe
&yuml; \xff &fnof; \u192 &Alpha; \u391 &Beta; \u392 &Gamma; \u393 &Delta; \u394
&Epsilon; \u395 &Zeta; \u396 &Eta; \u397 &Theta; \u398 &Iota; \u399
&Kappa; \u39A &Lambda; \u39B &Mu; \u39C &Nu; \u39D &Xi; \u39E
&Omicron; \u39F &Pi; \u3A0 &Rho; \u3A1 &Sigma; \u3A3 &Tau; \u3A4
&Upsilon; \u3A5 &Phi; \u3A6 &Chi; \u3A7 &Psi; \u3A8 &Omega; \u3A9
&alpha; \u3B1 &beta; \u3B2 &gamma; \u3B3 &delta; \u3B4 &epsilon; \u3B5
&zeta; \u3B6 &eta; \u3B7 &theta; \u3B8 &iota; \u3B9 &kappa; \u3BA
&lambda; \u3BB &mu; \u3BC &nu; \u3BD &xi; \u3BE &omicron; \u3BF
&pi; \u3C0 &rho; \u3C1 &sigmaf; \u3C2 &sigma; \u3C3 &tau; \u3C4
&upsilon; \u3C5 &phi; \u3C6 &chi; \u3C7 &psi; \u3C8 &omega; \u3C9
&thetasym; \u3D1 &upsih; \u3D2 &piv; \u3D6 &bull; \u2022
&hellip; \u2026 &prime; \u2032 &Prime; \u2033 &oline; \u203E
&frasl; \u2044 &weierp; \u2118 &image; \u2111 &real; \u211C
&trade; \u2122 &alefsym; \u2135 &larr; \u2190 &uarr; \u2191
&rarr; \u2192 &darr; \u2193 &harr; \u2194 &crarr; \u21B5
&lArr; \u21D0 &uArr; \u21D1 &rArr; \u21D2 &dArr; \u21D3 &hArr; \u21D4
&forall; \u2200 &part; \u2202 &exist; \u2203 &empty; \u2205
&nabla; \u2207 &isin; \u2208 &notin; \u2209 &ni; \u220B &prod; \u220F
&sum; \u2211 &minus; \u2212 &lowast; \u2217 &radic; \u221A
&prop; \u221D &infin; \u221E &ang; \u2220 &and; \u2227 &or; \u2228
&cap; \u2229 &cup; \u222A &int; \u222B &there4; \u2234 &sim; \u223C
&cong; \u2245 &asymp; \u2248 &ne; \u2260 &equiv; \u2261 &le; \u2264
&ge; \u2265 &sub; \u2282 &sup; \u2283 &nsub; \u2284 &sube; \u2286
&supe; \u2287 &oplus; \u2295 &otimes; \u2297 &perp; \u22A5
&sdot; \u22C5 &lceil; \u2308 &rceil; \u2309 &lfloor; \u230A
&rfloor; \u230B &lang; \u2329 &rang; \u232A &loz; \u25CA
&spades; \u2660 &clubs; \u2663 &hearts; \u2665 &diams; \u2666
&quot; \x22 &amp; \x26 &lt; \x3C &gt; \x3E O&Elig; \u152 &oelig; \u153
&Scaron; \u160 &scaron; \u161 &Yuml; \u178 &circ; \u2C6
&tilde; \u2DC &ensp; \u2002 &emsp; \u2003 &thinsp; \u2009
&zwnj; \u200C &zwj; \u200D &lrm; \u200E &rlm; \u200F &ndash; \u2013
&mdash; \u2014 &lsquo; \u2018 &rsquo; \u2019 &sbquo; \u201A
&ldquo; \u201C &rdquo; \u201D &bdquo; \u201E &dagger; \u2020
&Dagger; \u2021 &permil; \u2030 &lsaquo; \u2039 &rsaquo; \u203A
&euro; \u20AC &apos; \u0027 &lrm; "" &rlm; "" ? "" * ""
* ""
};

set text [string map [list "\]" "\\\]" "\[" "\\\[" "\$" "\\\$" "\\" "\\\\"] [string map $escapes $text]]
regsub -all -- {&#([[:digit:]]{1,5});} $text {[format %c [string trimleft "\1" "0"]]} text
regsub -all -- {&#x([[:xdigit:]]{1,4});} $text {[format %c [scan "\1" %x]]} text
return [subst "$text"]
}

putlog "youtube.tcl editing ßy rascoLn"

youtube.tcl editing ßy rascoLn