如何在 Discord.js 中检查消息是否为 DM?我已经尝试了几种方法来对此进行测试,我已经尝试了这些方法:
if (msg.channel.isDM) ... Produced undefined
if (msg.isDM) ... Produced undefined
if (msg.channel.DMChannel.isDM) ... produced undefined
if (msg.DMChannel) ... produced undefined
if (msg.channel.DMChannel.dm) ... produced undefined
if (msg.channel.dm) ... produced undefined
在控制台中生成 msg
并试图破译我在哪里做这件事后,我已经尝试了一切。即使是文档也不是很清楚在哪里检查这个。我看过多个“解决方案”,它们只是喷出 <message>.channel.dm
。嗯……这行不通。
编辑:所以它似乎是 <message>.isDM
。但是,在我的命令中这不起作用。我可以在数组中找到 isDM
当我 console.log(msg)
它产生 true
这是预期的。但是,执行 console.log(msg.isDM)
正在打印出 undefined
。这看起来很奇怪,因为它显然是被定义的。
原文由 William 发布,翻译遵循 CC BY-SA 4.0 许可协议
我找到了几种处理方法:
<message>.channel.type === 'dm'
但是这只包括单个DM,但允许组等。message.guild === null
将检查所有 DM(如果消息服务器为 null,如果消息不是通过服务器发送,则返回 true,则必须是 dm。)