我在创建一个基本的不和谐机器人(用于播放音乐)时遇到了一些错误。我主要依赖于文档 - 我想我从 discord.js 文档示例中复制并粘贴了“脱离上下文”的某些代码行。但我不知道它们会是什么,因为我对编程还很陌生。
我安装并导入了所有必要的依赖项,所以这不是问题。 我的机器人工作正常(收听和回复消息)。
这里是音乐功能相关的代码
client.on("message", async message => {
const prefix = '?'
const args = message.content.slice(prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();
if (command === 'play') {
let track = await client.player.play(message.member.voice.channel, args[0],
message.member.user.tag);
message.channel.send(`Currently playing ${track.name} as requested by
${track.requestedBy}`);
}
if (command === 'stop') {
let track = await client.player.stop(message.guild.id);
message.channel.send('Stopped.')
}
})
这是我得到的错误:
(node:436) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'play' of undefined
(node:436) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated
either by throwing inside of an async function without a catch block, or by rejecting a promise
which was not handled with .catch(). To terminate the node process on unhandled promise
rejection, use the CLI flag `--unhandled-rejections=strict` (see
https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:436) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the
future, promise rejections that are not handled will terminate the Node.js process with a non-
zero exit code.
可能是:
"prefix": ";;ntek ",
我确实尝试将前缀更改为该前缀,将其完全删除,以及其他一堆东西,但似乎没有任何东西使机器人工作。答案 0 :(得分:0)
用这边解释和显示的代码试试:
https://discordjs.guide/voice/
首先需要建立语音通道连接,然后才能播放东西...
一切都应该在网站上解释。
希望我能帮上忙;)
ShadowLp174