/soundboard -> /sfxboard

This commit is contained in:
Chris Ham
2025-08-16 22:32:37 -07:00
parent 7dc7a92dd1
commit 6d93f3dcad
2 changed files with 18 additions and 19 deletions

View File

@@ -57,7 +57,7 @@ function getSfxCategories() {
module.exports = { module.exports = {
data: new SlashCommandBuilder() data: new SlashCommandBuilder()
.setName("soundboard") .setName("sfxboard")
.setDescription("Interactive soundboard with categorized buttons"), .setDescription("Interactive soundboard with categorized buttons"),
async execute(interaction, guildConfig) { async execute(interaction, guildConfig) {

View File

@@ -6,13 +6,12 @@ const {
AudioPlayerStatus, AudioPlayerStatus,
entersState, entersState,
getVoiceConnection, getVoiceConnection,
generateDependencyReport } = require("@discordjs/voice");
} = require('@discordjs/voice'); const { ChannelType } = require("discord.js");
const { ChannelType } = require('discord.js');
// Try to use ffmpeg-static as fallback if system ffmpeg is not available // Try to use ffmpeg-static as fallback if system ffmpeg is not available
try { try {
const ffmpegPath = require('ffmpeg-static'); const ffmpegPath = require("ffmpeg-static");
if (ffmpegPath && !process.env.FFMPEG_PATH) { if (ffmpegPath && !process.env.FFMPEG_PATH) {
process.env.FFMPEG_PATH = ffmpegPath; process.env.FFMPEG_PATH = ffmpegPath;
} }
@@ -28,17 +27,17 @@ class VoiceService {
/** /**
* Join a voice channel * Join a voice channel
* @param {VoiceChannel} channel * @param {VoiceChannel} channel
* @returns {VoiceConnection} * @returns {VoiceConnection}
*/ */
async join(channel) { async join(channel) {
if (!channel || channel.type !== ChannelType.GuildVoice) { if (!channel || channel.type !== ChannelType.GuildVoice) {
throw new Error('Invalid voice channel'); throw new Error("Invalid voice channel");
} }
// Check if already connected // Check if already connected
let connection = getVoiceConnection(channel.guild.id); let connection = getVoiceConnection(channel.guild.id);
if (!connection) { if (!connection) {
connection = joinVoiceChannel({ connection = joinVoiceChannel({
channelId: channel.id, channelId: channel.id,
@@ -79,7 +78,7 @@ class VoiceService {
/** /**
* Leave a voice channel * Leave a voice channel
* @param {string} guildId * @param {string} guildId
*/ */
leave(guildId) { leave(guildId) {
const connection = this.connections.get(guildId); const connection = this.connections.get(guildId);
@@ -92,15 +91,15 @@ class VoiceService {
/** /**
* Play an audio file * Play an audio file
* @param {string} guildId * @param {string} guildId
* @param {string} filePath * @param {string} filePath
* @param {Object} options * @param {Object} options
* @returns {AudioPlayer} * @returns {AudioPlayer}
*/ */
async play(guildId, filePath, options = {}) { async play(guildId, filePath, options = {}) {
const connection = this.connections.get(guildId); const connection = this.connections.get(guildId);
if (!connection) { if (!connection) {
throw new Error('Not connected to voice channel'); throw new Error("Not connected to voice channel");
} }
// Create or get player for this guild // Create or get player for this guild
@@ -131,8 +130,8 @@ class VoiceService {
resolve(); resolve();
}); });
player.once('error', (error) => { player.once("error", (error) => {
console.error('Player error:', error); console.error("Player error:", error);
reject(error); reject(error);
}); });
}); });
@@ -140,7 +139,7 @@ class VoiceService {
/** /**
* Stop playing audio * Stop playing audio
* @param {string} guildId * @param {string} guildId
*/ */
stop(guildId) { stop(guildId) {
const player = this.players.get(guildId); const player = this.players.get(guildId);
@@ -151,7 +150,7 @@ class VoiceService {
/** /**
* Check if connected to a voice channel * Check if connected to a voice channel
* @param {string} guildId * @param {string} guildId
* @returns {boolean} * @returns {boolean}
*/ */
isConnected(guildId) { isConnected(guildId) {
@@ -160,7 +159,7 @@ class VoiceService {
/** /**
* Get the current voice connection * Get the current voice connection
* @param {string} guildId * @param {string} guildId
* @returns {VoiceConnection|undefined} * @returns {VoiceConnection|undefined}
*/ */
getConnection(guildId) { getConnection(guildId) {
@@ -168,4 +167,4 @@ class VoiceService {
} }
} }
module.exports = new VoiceService(); module.exports = new VoiceService();