discord.js v13 проблема с проверкой пользователь в голосовом чате или нет
при попытке сначала запустить бот затем войти в чат выводит что я не подключился в чат. Если сначала подключится к чату а затем запустить бот, бот будет выводить ссылки но даже когда я отключусь от голосового чата.
Я попробовал выводить название канала, и оказалось что при переподключения в другой голосовой канал бот думает что я нахожусь в том в котором был до его запуска.
const { SlashCommandBuilder } = require('@discordjs/builders');
const ytdl = require('ytdl-core');
const { YTSearcher } = require('ytsearcher');
const { youtubeToken } = require('../config.json');
const searcher = new YTSearcher({
key: youtubeToken,
revealed: true
});
const queue = new Map();
module.exports = {
data: new SlashCommandBuilder()
.setName('player')
.setDescription('Play music from YouTube')
.addSubcommand(subCommand =>
subCommand
.setName('play')
.setDescription('Play music from link/request')
.addStringOption(option =>
option
.setName('request')
.setDescription('Request to play')
)
),
async execute(interaction) {
const subCommand = interaction.options.getSubcommand();
const serverQueue = queue.get(interaction.guild.id);
if(subCommand === 'play') {
const arg = interaction.options.get('request').value;
const voiceChannel = interaction.member.voice.channel;
if(!voiceChannel) return interaction.reply({ content: 'please join a voice chat first!', ephemeral: true });
const result = await searcher.search(arg, {type: "video"});
interaction.reply(result.first.url);
const songInfo = await ytdl.getInfo(result.first.url);
}
}
}