-1

所以我有一个经过验证的 Discord.JS 机器人,我一直在尝试用音乐(Distube)创建一个斜线命令。我想注册播放命令,然后允许用户输入一个字符串(歌曲标题)并使用它来播放歌曲。我该怎么做?

这是我的命令文件:

const Discord = require('discord.js');

module.exports = {

    name: "play",
    description: "Play music!",

    async execute (interaction, client) {
    
    const music = args.join(" ");

    client.distube.play(message, music)

    }
}

就像我说的那样,我将如何更改它以匹配斜杠命令?我正在为此使用Discord.JS v13 指南

谢谢!

4

1 回答 1

1

您应该使用const music = interaction.options.get("query").value,而不是const music = args.join(' ')因为 d.js v13 斜线命令使用交互,而不是参数。

为了让机器人加入你的声音,你应该使用client.distube.playVoiceChannel,为了搜索用户的声音,我们也需要从交互中得到这个,const voice = interaction.member.voice.channel

在此之后,您的代码应如下所示:

const music = interaction.options.get("query").value
const voice = interaction.member.voice.channel
client.distube.play(voice, music)
于 2021-08-09T08:59:00.780 回答