Node.js I';我有一个错误';TypeError:无法读取属性';离开';未定义的';
我有个问题。我已经为我的discord bot安装了ytdl core,但是,当bot必须自动离开语音室时,我遇到以下错误:Node.js I';我有一个错误';TypeError:无法读取属性';离开';未定义的';,node.js,discord.js,Node.js,Discord.js,我有个问题。我已经为我的discord bot安装了ytdl core,但是,当bot必须自动离开语音室时,我遇到以下错误: console.log(queue); (function play(song) { console.log(song); if (song === undefined) return msg.channel.send('La file d\'attente est vide').then(() =>
console.log(queue);
(function play(song) {
console.log(song);
if (song === undefined) return msg.channel.send('La file d\'attente est vide').then(() => {
queue[msg.guild.id].playing = false;
msg.member.voiceChannel.leave();
错误:
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'leave' of undefined
老实说,我不认为这是一个定义问题。
msg.member.voiceChannel
未定义。这意味着用户不在语音频道中。在尝试使用它之前,请确保属性(voiceChannel
)存在
const voiceChannel=msg.member.voiceChannel;
中频(语音频道){
voiceChannel.leave()
.catch(控制台错误);
}
未定义msg.member.voiceChannel。这意味着用户不在语音频道中。在尝试使用它之前,请确保属性(voiceChannel
)存在
const voiceChannel=msg.member.voiceChannel;
中频(语音频道){
voiceChannel.leave()
.catch(控制台错误);
}
我在msg.member.voiceChannel.leave()中看到一个方法调用.leave()
代码>,但不是读取的属性。请离开。您能否发布完整的错误消息,包括堆栈跟踪,以及更长的代码片段,包括错误源代码行?也许你有一个旧的控制台。log
在某个地方导致了这个问题?@Cloud方法实际上是一个对象的属性。要调试它,问问你自己:msg
来自哪里?msg.member
来自哪里?最后,msg.member.voiceChannel
来自哪里?最终,您会发现msg.member.voiceChannel
未定义,浏览器无法访问未定义的的属性leave
——就像它所说的那样。啊,谢谢@slothiful,抱歉,还在这里学习:)我原以为错误会说一些关于某个方法的内容,并认为它会说“无法读取属性”表示错误源于.leave
其他地方(而不是.leave()
)。我在msg.member.voiceChannel.leave()中看到方法调用.leave()
);
,但不是读取的属性。请离开
。您是否可以发布完整的错误消息,包括堆栈跟踪,以及更长的代码片段(包括错误产生的行)?也许您有一个旧的控制台。日志
,位于导致此问题的某处?@Cloud a方法实际上是obje的属性要调试它,请自问:msg
来自何方?msg.member
来自何方?最后,msg.member.voiceChannel
来自何方?最终,您将发现msg.member.voiceChannel
未定义,浏览器无法访问unde的leave
属性罚款
——就像它说的那样。啊,谢谢@slothiful,抱歉,还在这里学习:)我本来以为错误会说一些关于方法的东西,但认为它说的“无法读取属性”意味着错误源于。请将
放在其他地方(而不是。leave()
)。