꽤 오래전에 만든 스크립트인데 이제서야 공개하게 되었다.
단, $mircdir 에 utf8.dll 파일이 필요하니 첨부파일을 다운로드 할것.
이 스크립트를 가져다 쓸 사람은 아래부터 복사해서 쓰면 된다. (mIRC 6.3 에서 정상작동 확인함)
; ————————————————————
; | Made by Xeriars |
; | (변경해서 쓰는건 니맘대로지만 이 부분은 지우지 말아주세요.) |
; ————————————————————
on *:text:*:#: {
if ($1 == @유튜브) {
if (!$2) { msg $chan Usage : @유튜브 검색어 | halt }
unset %youtube.*
set %youtube.chan $chan
set %youtube.word $2-
set %youtube.url $urlencode($dll(utf8.dll,convertutf8,%youtube.word))
set %youtube.count 1
set %youtube.nick $nick
sockclose youtube
sockopen youtube www.youtube.com 80
halt
}
}
on *:sockopen:youtube*: {
sockwrite -nt $sockname GET /results?search_type=&search_query= $+ %youtube.url $+ &aq=f HTTP/1.1
sockwrite -nt $sockname User-Agent: Mozilla/4.0
sockwrite -nt $sockname Host: www.youtube.com
sockwrite -nt $sockname Connection: Close
sockwrite -nt $sockname $crlf
}
on *:sockread:youtube: {
sockread %tmp
set %youtube.search0 약 <strong>
set %youtube.search0 $dll(utf8.dll,convertutf8,%youtube.search0)
set %youtube.search1 <div class=”v120WideEntry”><div class=”v120WrapperOuter”>
set %youtube.search2 class=”video-description”>
set %youtube.search3 <button class=”master-sprite ratingVS ratingVS-
set %youtube.search4 class=”video-date-added”>
set %youtube.search5 class=”video-view-count”>
set %youtube.search6 <span class=”video-username”>
set %youtube.error <div style=”margin-top: 10px”><span
set %youtube.error2 icn_cycds_warning-vfl33982.gif
if (%youtube.count == 2) {
set %youtube.describe $dll(utf8.dll,convertlocal,$replace($remove(%tmp,$chr(9)),<b>,,</b>,))
set %youtube.count 1
}
if (%youtube.error isin %tmp) {
msg %youtube.chan ” $+ %youtube.word $+ ” 의 검색결과가 존재하지 않습니다.
sockclose $sockname
unset %youtube.*
}
if (%youtube.error2 isin %tmp) {
msg %youtube.chan ” $+ %youtube.word $+ ” 의 검색결과가 존재하지 않습니다.
sockclose $sockname
unset %youtube.*
}
if (%youtube.search0 isin %tmp) {
set %youtube.amount $remove($gettok(%tmp,1,47),%youtube.search0,<,$chr(9))
}
if (%youtube.search1 isin %tmp) {
set %youtube.id $remove($gettok(%tmp,8,34),$chr(9),video-url-)
set %youtube.video http://www.youtube.com/watch?v= $+ %youtube.id
set %youtube.subject $dll(utf8.dll,convertlocal,$remove($gettok(%tmp,14,34),$chr(9)))
}
if (%youtube.search3 isin %tmp) { set %youtube.ratio $gettok(%tmp,4,34) $+ 점 }
if (%youtube.search4 isin %tmp) { set %youtube.added $dll(utf8.dll,convertlocal,$remove($gettok(%tmp,5,34),</span>,>)) }
if (%youtube.search5 isin %tmp) { set %youtube.vcount $remove($dll(utf8.dll,convertlocal,$remove($gettok(%tmp,5,34),</span>,>)),조회,수,$chr(32)) }
if (%youtube.search6 isin %tmp) { set %youtube.user $remove($gettok(%tmp,9,34),</a>,</span>,>) | set %youtube.count 77 }
if (%youtube.count == 77) {
if (!%youtube.ratio) { set %youtube.ratio 평점없음 }
msg %youtube.chan $chr(91) $+ %youtube.subject $+ $chr(93) – %youtube.video ( $+ 약 %youtube.amount $+ 개의 동영상 검색)
msg %youtube.chan 설명 : %youtube.describe
msg %youtube.chan 등록일 : %youtube.added / 평점 : %youtube.ratio / 조회 수 : %youtube.vcount / 등록자 : %youtube.user
notice %youtube.nick 더 많은 결과를 보시려면 http://www.youtube.com/results?search_type=&search_query= $+ %youtube.url $+ &aq=f 를 참조하십시요.
sockclose $sockname
unset %youtube.*
}
if (%youtube.search2 isin %tmp) { set %youtube.count 2 }
}