@Fareny

Как решить ошибку чтения и записи аудио?

const { IntentsBitField, Partials, Client } = require('discord.js');
const { createReadStream, createWriteStream } = require('fs');
const { pipeline } = require('stream');
const { joinVoiceChannel, createAudioResource } = require('@discordjs/voice');
const config = require('./config.json');
config.cfg = {
    ...config.cfg,
    intents: new IntentsBitField(config.cfg.intents),
    partials: [Partials.Channel]
};
const client = new Client(config.cfg);

client.on('ready', () => {
    console.log('Бот запущен!');
});

client.on('messageCreate', async (message) => {
    if (message.content === '/record') {
        // Проверяем, что пользователь находится в голосовом канале
        if (!message.member.voice.channel) {
            return message.reply('Вы должны находиться в голосовом канале, чтобы использовать эту команду');
        }

        // Подключаемся к голосовому каналу пользователя
        const connection = joinVoiceChannel({
            channelId: message.member.voice.channel.id,
            guildId: message.guild.id,
            adapterCreator: message.guild.voiceAdapterCreator,
        });

        // Создаем поток записи аудио
        const audioStream = connection.receiver.createStream(message.member, {
            mode: 'pcm',
            end: 'manual',
        });

        // Создаем поток чтения аудио и записываем его в файл
        const audioFile = createWriteStream('audio.pcm');
        pipeline(audioStream, audioFile, (err) => {
            if (err) {
                console.error('Ошибка записи аудио:', err);
            } else {
                console.log('Аудиофайл успешно записан');
            }

            // Завершаем соединение
            connection.destroy();
        });

        // Отправляем сообщение об успешном начале записи аудио
        message.reply('Начинаю запись аудио...');
    }
});

client.login(config.token);

Хотел сделать дискорд бота, который будет сидеть в голосовом чате, слушать и отвечать, но столкнулся с множеством проблем... Никак не могу создать поток чтения и записи.
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы