egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[ReQuest] For Shoutcast

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
OpWarnet
Voice


Joined: 13 Jun 2020
Posts: 1

PostPosted: Sat Jun 13, 2020 1:32 pm    Post subject: [ReQuest] For Shoutcast Reply with quote

Hi, i want to have tcl script for serving user to request some song (download from youtube) then play it on shoutcast.

i seen this bot is running on channel #dsnnet @ irc.dsn.net.id with command: .xreq title - artist

would someone help me with this?
Fyi, i found this code, if someone could help me with it

Code:
##############################################################################################
# Youtube to MP3 download created by : slashcore @ 2016                                       
# TCL name : youtubemp3.tcl                                                                   
# Please visit our IRC Metwork : ForumCerdasNET (irc.forumcerdas.net) @ channel #mp3.         
##############################################################################################
# Require software : youtube-dl, exiftool, httpd/apache with userdir(public_html) enabled     
##############################################################################################
# Changelog :                                                                                 
# Ver: 0.1.0811201602 @ 11/08/2016 - Added: bot status occupied or free. by: slashcore       
# Ver: 0.1.0811201603              - Added: on join notice by: slashcore                     
# Ver: 0.1.0811201604              - Added: error messages printed if any and return 0       
##############################################################################################
# Notes : - You're free to modified but keep the real credits there.                         
##############################################################################################
# Special Thanks to : (-V-) Vaksin - for the advise if any error appeared                     
##############################################################################################

# Set with your BotNickname
set cc DL02
# Set your youtubemp3 channel
set mp3chan "#mp3"
set versi "Build Beta Ver: 0.1.0811201604"
set pattern1 http://www.youtube.com/watch*
set pattern2 https://www.youtube.com/watch*
# Set to your user home directory
set home /home/dua
# Set to your public_html folder
set webfolder /home/dua/public_html
# Set to your download URL
set dlurl "http://grabit.forumcerdas.net/~dua/"
# set to 0 (on join notice on) , 1 (on join notice off)
set notice "0"

bind pub p|p .$cc youtubedl
bind pub m|m $cc pub:bersih
bind pub p|p !ver versi
bind join - * join:mp3notice

proc youtubedl {nick uhost hand chan text} {
    global pattern1 pattern2 mp3chan dlurl webfolder home versi
    set status "0"
    if { $chan != $mp3chan } { putquick "NOTICE $nick :you're not in channel $mp3chan to use this feature. Please join $mp3chan to use it."
        return 0
        }
        set tempstatus [open "status.txt" r]
        set status [gets $tempstatus]
        close $tempstatus
    if { $status  != 0 } {
        putquick "NOTICE $nick :$nick, i'm still occupied please wait until i'm finished my job."
        return 0 }
    if { [regexp $pattern1 $text == 1] } {
        putquick "NOTICE $nick :$text matched. Going to next step..."
        putquick "NOTICE $nick :please be patient we're still processing your request."
        catch { set judul [exec youtube-dl -x --audio-format mp3 -o "%(title)s.temp" --get-filename [split $text] | sed {s/ /_/g}] } errmsgs
        # print error if any such as SME/Copyrighted blocking
    if { [regexp {^ERROR*} $errmsgs == 1] } {
        puthelp "PRIVMSG $chan :($errmsgs)"
        return 0
        }
        #input the judultext to a file
        set temp [open "judul1.txt" w+]
        puts $temp $judul
        close $temp
        # put status occupied = 1
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "1"
        close $tempstatus
        #open file judul.txt to a string
        set temp [open "judul1.txt" r]
        set judultemp [gets $temp]
        set judulfinal [exec cat judul1.txt | sed {s/.temp//g} | sed {s/#//g} | sed {s/!//g} | sed {s/'//g} | sed {s/@//g}]
        close $temp
        putlog "< $nick @ $chan > is requesting download from youtube $judulfinal.mp3 ."
#       set youtube [exec youtube-dl -f 160+140 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s" [split $text]]
        catch { set youtube [exec youtube-dl --audio-quality 0 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s" [split $text]] }
        if { $youtube != 0 } {
        set size [exec exiftool -FileSize -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/FileSize://g}]
        set length [exec exiftool -Duration -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/Duration://g} | sed {s/(approx)//g}]
        puthelp "PRIVMSG $chan :Download URL: \00312$dlurl$judulfinal.mp3\003 | FileSize : \002$size\002 | Length : \002$length\002 |"
        puthelp "NOTICE $nick :you have only \00312(60 mins)\003 to get the file and it will be deleted after."
        puthelp "PRIVMSG $chan :This Public Service is served by: \00312ForumCerdasNET\00304@\003122016\003 \00314$versi\003"
        # put satus free = 0
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "0"
        close $tempstatus
        # delete expired files in 1 hour
        after 3600000 infodel1 $judulfinal }
        } elseif { [regexp $pattern2 $text == 1] } {
        putquick "NOTICE $nick :$text matched. Going to next step..."
        putquick "NOTICE $nick :please be patient we're still processing your request."
        catch { set judul [exec youtube-dl -x --audio-format mp3 -o "%(title)s.temp" --get-filename [split $text] | sed {s/ /_/g}] } errmsgs
        # print error if any such as SME/Copyrighted blocking
    if { [regexp {^ERROR*} $errmsgs == 1] } {
        puthelp "PRIVMSG $chan :($errmsgs)"
        return 0
        }
        #input the judultext to a file
        set temp [open "judul1.txt" w+]
        puts $temp $judul
        close $temp
        # put status occupied = 1
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "1"
        close $tempstatus
        #open file judul.txt to a string
        set temp [open "judul1.txt" r]
        set judultemp [gets $temp]
        set judulfinal [exec cat judul1.txt | sed {s/.temp//g} | sed {s/#//g} | sed {s/!//g} | sed {s/'//g} | sed {s/@//g}]
        close $temp
        putlog "< $nick @ $chan > is requesting download from youtube $judulfinal.mp3 ."
#       set youtube [exec youtube-dl -f 160+140 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s" [split $text]]
        set youtube [exec youtube-dl --audio-quality 0 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s" [split $text]]
        set size [exec exiftool -FileSize -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/FileSize://g}]
        set length [exec exiftool -Duration -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/Duration://g} | sed {s/(approx)//g}]
        puthelp "PRIVMSG $chan :Download URL: \00312$dlurl$judulfinal.mp3\003 | FileSize : \002$size\002 | Length : \002$length\002 |"
        puthelp "NOTICE $nick :you have only \00312(60 mins)\003 to get the file and it will be deleted after."
        puthelp "PRIVMSG $chan :This Public Service is served by: \00312ForumCerdasNET\00304@\003122016\003 \00314$versi\003"
        # put satus free = 0
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "0"
        close $tempstatus
        # delete expired files in 1 hour
        after 3600000 infodel1 $judulfinal
        } else {
        putquick "NOTICE $nick :finding $text Going to next step..."
        catch { set judul [exec youtube-dl ytsearch:[split $text] -x --audio-format mp3 -o "%(title)s.temp" --get-filename | sed {s/ /_/g}] } errmsgs
        # print error if any such as SME/Copyrighted blocking
    if { [regexp {^ERROR*} $errmsgs == 1] } {
        puthelp "PRIVMSG $chan :($errmsgs)"
        return 0
        }
        #input the judultext to a file
        set temp [open "judul2.txt" w+]
        puts $temp $judul
        close $temp
        # put status occupied = 1
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "1"
        close $tempstatus
        #open file judul.txt to a string
        set temp [open "judul2.txt" r]
        set judultemp [gets $temp]
        set judulfinal [exec cat judul2.txt | sed {s/.temp//g} | sed {s/#//g} | sed {s/!//g} | sed {s/'//g} | sed {s/@//g}]
        close $temp
        putlog "< $nick @ $chan > is requesting download from youtube $judulfinal.mp3 ."
        putquick "NOTICE $nick :Selected $judulfinal proceeding...."
#       set youtube [exec youtube-dl ytsearch:[split $text] -f 160+140 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s"]
        set youtube [exec youtube-dl ytsearch:[split $text] --audio-quality 0 -x --audio-format mp3 -o "$webfolder/$judulfinal.%(ext)s"]
        set size [exec exiftool -FileSize -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/FileSize://g}]
        set length [exec exiftool -Duration -s $webfolder/$judulfinal.mp3 | sed {s/ //g} | sed {s/Duration://g} | sed {s/(approx)//g}]
        puthelp "PRIVMSG $chan :Download URL: \00312$dlurl$judulfinal.mp3\003 | FileSize : \002$size\002 | Length : \002$length\002 |"
        puthelp "NOTICE $nick :you have only \00312(60 mins)\003 to get the file and it will be deleted after."
        puthelp "PRIVMSG $chan :This Public Service is served by: \00312ForumCerdasNET\00304@\003122016\003 \00314$versi\003"
        # put satus free = 0
        set tempstatus [open "status.txt" w+]
        puts $tempstatus "0"
        close $tempstatus
        # delete expired files in 1 hour
        after 3600000 infodel2 $judulfinal
        }
}

proc infodel1 {judulfinal} {
    global mp3chan webfolder home
    exec rm -rf $webfolder/$judulfinal.mp3
    puthelp "PRIVMSG $mp3chan :\00304$judulfinal.mp3\003 is expired and deleted."
    putlog "< files expired > $judulfinal.mp3 is expired and deleted."
}

proc infodel2 {judulfinal} {
    global mp3chan webfolder home
    exec rm -rf $webfolder/$judulfinal.mp3
    puthelp "PRIVMSG $mp3chan :\00304$judulfinal.mp3\003 is expired and deleted."
    putlog "< files expired > $judulfinal.mp3 is expired and deleted."
}

proc pub:bersih {nick uhost hand chan arg} {
        global home mp3chan
        set cmd [lindex $arg 0]
        switch -- $cmd  {
                "clear" {
                if { $chan != $mp3chan } {
                putlog "< $nick @ $chan > !WARNING! is trying to use CLEAR but not in $mp3chan"
                return 0
                } else {
                putlog "< $nick @ $chan > !CLEAR! is clearing public_html."
                after 2000 [exec $home/sapu.sh]
                puthelp "NOTICE $nick :files clearing is done."
                }
        }
    }
}

proc join:mp3notice {nick uhost hand chan} {
        global mp3chan cc notice
        if { $notice != 1 } { return 0 }
        if { $chan == $mp3chan} {
                putquick "NOTICE $nick :Bot available \002DL01 & DL02\002 Download MP3 from Youtube use \002.botnick <youtube url/artist - song title>.\002"
                putquick "NOTICE $nick :Example Usage: \00312.$cc http://www.youtube.com/watch?v=h1e4q9LLTA0\003 or \00312.$cc Kla Project - Yogyakarta\003"
        } else {
                return 0
        }
}

proc versi {nick uhost hand chan args} {
        global versi
        putlog "< $nick @ $chan > !Version!"
        puthelp "PRIVMSG $chan :$nick : MP3 Youtube Download Conversion by \002slashcore\002 (\00314$versi\003)"
}

putlog  "ForumCerdas YouTube to MP3 download & converter by \002slashcore\002 @ 2016 loaded. (\00314$versi\003)"

_________________
OpWarnet || Still Learning
Back to top
View user's profile Send private message
mabrook
Halfop


Joined: 14 Jun 2021
Posts: 60

PostPosted: Sun Aug 15, 2021 3:21 am    Post subject: Reply with quote

You need to have your own VPS and install this


Require software : youtube-dl, exiftool, httpd/apache with userdir(public_html) enabled
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber