Как сделать так, чтобы музыкальный бот discord удалял сообщение «Сейчас воспроизводится» после окончания музыки?

#javascript #bots

Вопрос:

Это то, что использует мой бот:

 "@discordjs/opus": "^0.3.3",
"discord-player": "^3.3.2",
"discord.js": "^12.5.1",
"ffmpeg-static": "^4.2.7"
 

Я пробовал так, но это не сработало, кроме того, я хотел сделать так, чтобы, когда вы пропускаете музыку, она тоже удаляла сообщение

 module.exports = (client, message, track) => {
message.channel.send(`${client.emotes.music} - Now playing ${track.title} into ${message.member.voice.channel.name} ...`).then(msg => {
    msg.delete({
        timeout: (track.duration   "000")
    });
});
};
 

Есть какие-нибудь идеи, как я могу это сделать? УуУ

Комментарии:

1. пожалуйста, включите зависимости в виде текста в свой пост вместо скриншота на веб-сайте, размещающем внешние изображения, помогите нам помочь вам

2. кроме того, попробуйте сделать отступ в коде, чтобы его было легко читать. Вы можете использовать что-то вроде beautifier.io Никому не нравится прокручивать горизонтальный код

Ответ №1:

Я использую следующий код, который я частично получил от discordjs.guide.

Я создал переменную songQueue, в которой я храню все свои данные.

 const songQueue = {
    textChannel: null,
    voiceChannel: null,
    connection: null,
    songs: [],
    volume: 10,
    playing: true,
    loop: 'disabled',
    nowPlayingMessage: null,
};
 

Когда песня заканчивается, она удаляет воспроизводимое сообщение.

 dispatcher.on('finish', () => {
   songQueue.nowPlayingMessage.delete();
});