Version 0.3.0-alpha1 - Youtube and Spotify support

This commit is contained in:
2025-02-28 19:21:47 +01:00
parent a060d00599
commit c8c8fd71be
22 changed files with 925 additions and 167 deletions

View File

@@ -1,21 +1,21 @@
const {createAudioResource, VoiceConnectionStatus, createAudioPlayer} = require('@discordjs/voice');
const {createAudioResource, VoiceConnectionStatus, createAudioPlayer, StreamType} = require('@discordjs/voice');
const {LogType} = require('loguix')
const clog = new LogType("Media")
const plog = require("loguix").getInstance("Player")
async function play(instance, song) {
try {
instance.player = createAudioPlayer()
instance.generatePlayerEvents()
const player = instance.player
const resource = await song.getResource() // Remplace par ton fichier audio
song.resource = await createAudioResource(song.url, {
inputType: StreamType.Arbitrary
}) // Remplace par ton fichier audio
player.play(resource);
player.play(song.resource);
instance.connection.subscribe(player);
clog.log(`GUILD : ${instance.guildId} - Lecture de la musique (Media): ${song.title} - Filename : ${song.filename}`)
clog.log(`GUILD : ${instance.guildId} - Lecture de la musique (Media): ${song.title} - id : ${song.id}`)
} catch(e) {
clog.error("Erreur lors de la lecture de la musique : " + song.title)

View File

@@ -0,0 +1,37 @@
const {createAudioResource, VoiceConnectionStatus, createAudioPlayer, StreamType} = require('@discordjs/voice');
const {LogType} = require('loguix')
const clog = new LogType("Youtube")
const plog = require("loguix").getInstance("Player")
const ytdl = require('@distube/ytdl-core')
async function play(instance, song) {
try {
instance.player = createAudioPlayer()
instance.generatePlayerEvents()
const player = instance.player
const stream = ytdl(song.url, {
quality: 'highestaudio',
highWaterMark: 1 << 30,
liveBuffer: 20000,
dlChunkSize: 0,
bitrate: 128,
});
// Add compressor to the audio resource
song.resource = createAudioResource(stream);
player.play(song.resource);
instance.connection.subscribe(player);
clog.log(`GUILD : ${instance.guildId} - Lecture de la musique (Media): ${song.title} - id : ${song.id}`)
} catch(e) {
clog.error("Erreur lors de la lecture de la musique : " + song.title)
clog.error(e)
}
}
module.exports = {play}