Version 1.0.0-rc1 - Version initiale (Ajout du serveur, des playlists)

This commit is contained in:
2025-04-20 23:09:46 +02:00
parent 12c4e2740a
commit 812d5c72fa
37 changed files with 1860 additions and 157 deletions

View File

@@ -2,22 +2,13 @@ const {createAudioResource, VoiceConnectionStatus, createAudioPlayer, StreamType
const {LogType} = require('loguix')
const clog = new LogType("Media")
const plog = require("loguix").getInstance("Player")
const ffmpeg = require('fluent-ffmpeg')
async function play(instance, song) {
async function getStream(song) {
try {
instance.player = createAudioPlayer()
instance.generatePlayerEvents()
const player = instance.player
var resource = await createAudioResource(song.url, {
inputType: StreamType.Arbitrary
}) // Remplace par ton fichier audio
instance.setCurrentResource(resource)
player.play(resource);
instance.connection.subscribe(player);
clog.log(`GUILD : ${instance.guildId} - Lecture de la musique (Media): ${song.title} - id : ${song.id}`)
return song.url;
} catch(e) {
clog.error("Erreur lors de la lecture de la musique : " + song.title)
@@ -27,4 +18,4 @@ async function play(instance, song) {
}
module.exports = {play}
module.exports = {getStream}

View File

@@ -1,31 +1,25 @@
const {createAudioResource, VoiceConnectionStatus, createAudioPlayer, StreamType} = require('@discordjs/voice');
const {LogType} = require('loguix')
const clog = new LogType("Soundcloud")
const plog = require("loguix").getInstance("Player")
const clog = new LogType("Soundcloud-Stream")
const {Soundcloud} = require('soundcloud.ts')
const ffmpeg = require('fluent-ffmpeg')
const soundcloud = new Soundcloud();
async function play(instance, song) {
async function getStream(song) {
try {
instance.player = createAudioPlayer()
instance.generatePlayerEvents()
const player = instance.player
const stream = await soundcloud.util.streamTrack(song.url)
var resource = await createAudioResource(stream)
instance.setCurrentResource(resource)
player.play(resource);
instance.connection.subscribe(player);
clog.log(`GUILD : ${instance.guildId} - Lecture de la musique (Soundcloud): ${song.title} - id : ${song.id}`)
var stream = await soundcloud.util.streamTrack(song.url)
return stream
} catch(e) {
clog.error("Erreur lors de la lecture de la musique : " + song.title)
clog.error("Erreur lors de la récupération du stream : " + song.title)
clog.error(e)
}
}
module.exports = {play}
module.exports = {getStream}

View File

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