mirror of
https://github.com/ChomeNS/chomens-bot-mc.git
synced 2024-11-14 10:44:55 -05:00
music improvement
This commit is contained in:
parent
4bf9a0a0ed
commit
33f03675fb
3 changed files with 27 additions and 11 deletions
5
bot.js
5
bot.js
|
@ -60,7 +60,10 @@ async function createBot (server, config, getBots, setNewBot, dcclient, rl) {
|
||||||
channel.send(
|
channel.send(
|
||||||
`Connecting to: \`${bot.server.host}:${bot.server.port}\``
|
`Connecting to: \`${bot.server.host}:${bot.server.port}\``
|
||||||
)
|
)
|
||||||
bot._client.on('login', async function (data) {
|
|
||||||
|
bot._client.on('login', (data) => bot.emit('login', data))
|
||||||
|
|
||||||
|
bot.on('login', async function (data) {
|
||||||
bot.entityId = data.entityId
|
bot.entityId = data.entityId
|
||||||
bot.uuid = bot._client.uuid
|
bot.uuid = bot._client.uuid
|
||||||
bot.username = bot._client.username
|
bot.username = bot._client.username
|
||||||
|
|
|
@ -33,8 +33,7 @@ async function play (bot, values, discord, channeldc, selector, config) {
|
||||||
else absolutePath = await resolve(filepath)
|
else absolutePath = await resolve(filepath)
|
||||||
|
|
||||||
song = await bot.music.load(await fs.readFile(absolutePath), path.basename(absolutePath))
|
song = await bot.music.load(await fs.readFile(absolutePath), path.basename(absolutePath))
|
||||||
bot.music.queue.push(song)
|
|
||||||
bot.music.play(song)
|
|
||||||
if (discord) {
|
if (discord) {
|
||||||
const Embed = new EmbedBuilder()
|
const Embed = new EmbedBuilder()
|
||||||
.setColor(config.discord.embedsColors.normal)
|
.setColor(config.discord.embedsColors.normal)
|
||||||
|
@ -44,8 +43,11 @@ async function play (bot, values, discord, channeldc, selector, config) {
|
||||||
} else {
|
} else {
|
||||||
bot.tellraw(selector, [{ text: 'Added ', color: 'white' }, { text: song.name, color: 'gold' }, { text: ' to the song queue', color: 'white' }])
|
bot.tellraw(selector, [{ text: 'Added ', color: 'white' }, { text: song.name, color: 'gold' }, { text: ' to the song queue', color: 'white' }])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bot.music.queue.push(song)
|
||||||
|
bot.music.play(song)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
bot.console.error(e.stack)
|
||||||
if (discord) {
|
if (discord) {
|
||||||
const Embed = new EmbedBuilder()
|
const Embed = new EmbedBuilder()
|
||||||
.setColor(config.discord.embedsColors.error)
|
.setColor(config.discord.embedsColors.error)
|
||||||
|
@ -68,9 +70,7 @@ async function playUrl (bot, values, discord, channeldc, selector, config) {
|
||||||
},
|
},
|
||||||
responseType: 'arraybuffer'
|
responseType: 'arraybuffer'
|
||||||
})
|
})
|
||||||
song = await bot.music.load(response.data, getFilenameFromUrl(url))
|
|
||||||
bot.music.queue.push(song)
|
|
||||||
bot.music.play(song)
|
|
||||||
if (discord) {
|
if (discord) {
|
||||||
const Embed = new EmbedBuilder()
|
const Embed = new EmbedBuilder()
|
||||||
.setColor(config.discord.embedsColors.normal)
|
.setColor(config.discord.embedsColors.normal)
|
||||||
|
@ -80,6 +80,10 @@ async function playUrl (bot, values, discord, channeldc, selector, config) {
|
||||||
} else {
|
} else {
|
||||||
bot.tellraw(selector, [{ text: 'Added ', color: 'white' }, { text: song.name, color: 'gold' }, { text: ' to the song queue', color: 'white' }])
|
bot.tellraw(selector, [{ text: 'Added ', color: 'white' }, { text: song.name, color: 'gold' }, { text: ' to the song queue', color: 'white' }])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
song = await bot.music.load(response.data, getFilenameFromUrl(url))
|
||||||
|
bot.music.queue.push(song)
|
||||||
|
bot.music.play(song)
|
||||||
} catch (_err) {
|
} catch (_err) {
|
||||||
const e = _err.toString().includes('Bad MIDI file. Expected \'MHdr\', got: ') ? response.data.toString() : _err
|
const e = _err.toString().includes('Bad MIDI file. Expected \'MHdr\', got: ') ? response.data.toString() : _err
|
||||||
if (discord) {
|
if (discord) {
|
||||||
|
@ -226,7 +230,7 @@ module.exports = {
|
||||||
case 'all':
|
case 'all':
|
||||||
bot.music.loop = 2
|
bot.music.loop = 2
|
||||||
bot.tellraw(selector, {
|
bot.tellraw(selector, {
|
||||||
text: 'Now looping every song in the queue'
|
text: 'Now looping every song'
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
|
@ -321,7 +325,7 @@ module.exports = {
|
||||||
Embed = new EmbedBuilder()
|
Embed = new EmbedBuilder()
|
||||||
.setColor(config.discord.embedsColors.normal)
|
.setColor(config.discord.embedsColors.normal)
|
||||||
.setTitle('Loop')
|
.setTitle('Loop')
|
||||||
.setDescription('Now looping every song in the queue')
|
.setDescription('Now looping every song')
|
||||||
channeldc.send({ embeds: [Embed] })
|
channeldc.send({ embeds: [Embed] })
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,16 @@ function inject (bot) {
|
||||||
bot.core.run(`minecraft:execute as ${selector} at @s run playsound ${soundNames[note.instrument]} record @s ~ ~ ~ ${note.volume} ${floatingPitch}`)
|
bot.core.run(`minecraft:execute as ${selector} at @s run playsound ${soundNames[note.instrument]} record @s ~ ~ ~ ${note.volume} ${floatingPitch}`)
|
||||||
noteIndex++
|
noteIndex++
|
||||||
if (noteIndex >= bot.music.song.notes.length) {
|
if (noteIndex >= bot.music.song.notes.length) {
|
||||||
|
bot.tellraw('@a', [
|
||||||
|
{
|
||||||
|
text: 'Finished playing '
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: bot.music.song.name,
|
||||||
|
color: 'gold'
|
||||||
|
}
|
||||||
|
])
|
||||||
|
|
||||||
if (bot.music.loop === 1) {
|
if (bot.music.loop === 1) {
|
||||||
resetTime()
|
resetTime()
|
||||||
return
|
return
|
||||||
|
@ -79,7 +89,6 @@ function inject (bot) {
|
||||||
}
|
}
|
||||||
bot.music.queue.shift()
|
bot.music.queue.shift()
|
||||||
if (!bot.music.queue[0]) {
|
if (!bot.music.queue[0]) {
|
||||||
if (bot.music.queue.length === 0) bot.tellraw('@a', { text: 'Finished playing every song in the queue' })
|
|
||||||
bot.music.stop()
|
bot.music.stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -119,7 +128,7 @@ function inject (bot) {
|
||||||
return song
|
return song
|
||||||
}
|
}
|
||||||
|
|
||||||
bot.music.play = function () {
|
bot.music.play = function (song) {
|
||||||
if (bot.music.queue.length === 1) resetTime()
|
if (bot.music.queue.length === 1) resetTime()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue