stuff
This commit is contained in:
parent
3f56293ccb
commit
cfddd9b260
6
.vscode/settings.json
vendored
Normal file
6
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"robloxLsp.diagnostics.globals": [
|
||||||
|
"goto",
|
||||||
|
"nd"
|
||||||
|
]
|
||||||
|
}
|
96
src/modules/commands/download.lua
Normal file
96
src/modules/commands/download.lua
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
local discordia=require('discordia')
|
||||||
|
local commands=require('./../commands.lua')
|
||||||
|
discordia.extensions()
|
||||||
|
local io = io
|
||||||
|
|
||||||
|
function split(s,d)
|
||||||
|
local t,c,i={},'',0
|
||||||
|
for k in s:gmatch('.') do
|
||||||
|
i=i+1
|
||||||
|
if k==d and string.sub(s,i+1)~='' then
|
||||||
|
t[#t+1]=c
|
||||||
|
c=''
|
||||||
|
goto continue
|
||||||
|
end
|
||||||
|
c=c..k
|
||||||
|
::continue::
|
||||||
|
end
|
||||||
|
t[#t+1]=c
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
|
||||||
|
function clearTmp()
|
||||||
|
for file in io.popen([[dir "./tmp" /b]]):lines() do os.remove('./tmp/'..file) end
|
||||||
|
end
|
||||||
|
|
||||||
|
commands:Add('yt',{},"wip", function(t)
|
||||||
|
clearTmp()
|
||||||
|
local args = t.args
|
||||||
|
local message = t.message
|
||||||
|
if args[1] then
|
||||||
|
if args[1]:match('?v=([%w-_]+)') or args[1]:match('youtu.be/([%w-_]+)') then
|
||||||
|
local id=args[1]:match('?v=([%w-_]+)') or args[1]:match('youtu.be/([%w-_]+)')
|
||||||
|
message:reply('Attempting to download song ID='..id)
|
||||||
|
local filepath = ''
|
||||||
|
local name
|
||||||
|
local s=io.popen('ytdl.exe -x --audio-format mp3 --output "./tmp/%(title)s - %(uploader)s.%(ext)s" '..id)
|
||||||
|
if s then
|
||||||
|
repeat
|
||||||
|
a = split(io.popen([[dir "./tmp" /b]]):read('*all'),'\n')
|
||||||
|
for _,v in next,a do
|
||||||
|
if v:sub(#v-3)=='.mp3' then
|
||||||
|
print(v)
|
||||||
|
filepath=v
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
until filepath:sub(#filepath-3)=='.mp3'
|
||||||
|
if filepath then
|
||||||
|
message:reply('Found file: '..filepath)
|
||||||
|
message:reply({file='./tmp/'..filepath})
|
||||||
|
os.remove('./tmp/'..filepath)
|
||||||
|
else
|
||||||
|
message:reply('Error downloading song (this is not supposed to happen)')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('Error downloading song')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('Invalid URL')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('No URL provided')
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
commands:Add('sc',{},"wip", function(t)
|
||||||
|
clearTmp()
|
||||||
|
local args = t.args
|
||||||
|
local message = t.message
|
||||||
|
if args[1] then
|
||||||
|
if args[1]:match('https://soundcloud.com/[%w-_]+/[%w-_]+') then
|
||||||
|
local link=args[1]:match('https://soundcloud.com/[%w-_]+/[%w-_]+')
|
||||||
|
message:reply('Attempting to download song from <'..link..'>')
|
||||||
|
local filepath
|
||||||
|
local s=io.popen('ytdl.exe -o "./tmp/%(title)s - %(uploader)s.%(ext)s" '..link)
|
||||||
|
if s then
|
||||||
|
repeat
|
||||||
|
local name = io.popen([[dir "./tmp" /b]]):read('*all')
|
||||||
|
filepath = name:sub(1,name:len()-1)
|
||||||
|
until filepath:sub(#filepath-3)=='.mp3'
|
||||||
|
if filepath then
|
||||||
|
message:reply('Found file: '..filepath)
|
||||||
|
message:reply({file='./tmp/'..filepath})
|
||||||
|
os.remove('./tmp/'..filepath)
|
||||||
|
else
|
||||||
|
message:reply('Error downloading song (this is not supposed to happen)')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('Error downloading song')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('Invalid URL')
|
||||||
|
end
|
||||||
|
else
|
||||||
|
message:reply('No URL provided')
|
||||||
|
end
|
||||||
|
end)
|
Loading…
Reference in New Issue
Block a user