如何修复 AFK 通道的“空”输出

Posted

技术标签:

【中文标题】如何修复 AFK 通道的“空”输出【英文标题】:How to fix "Null" output for AFK Channel 【发布时间】:2019-11-14 16:40:03 【问题描述】:

我遇到了一个问题,当我启动我的机器人并运行此命令时,它显示“未定义”或“空”作为输出。我该如何解决这个问题?

我已尝试使用与所有其他选项相同的方法。

if (serv.verified == false) 
    var veri = "No.";
 

它在哪里检查布尔值、字符串或数字。它似乎不起作用。它将我的变量设置为 null 或 undefined。

if (serv.afkChannel == `null`) 
    var afk = "No AFK VC.";


if (serv.verified == true) 
    var veri = "Yes.";
 

if (serv.verified == false) 
    var veri = "No.";
 

        var myInfo2 = new discord.RichEmbed()
        .setAuthor(`$serv.name's guild info`)
        .addField(`AFK Channel`,`$afk`,true)
        .addField(`AFK Timeout`,`$serv.afkTimeouts`,true)
        .addField(`Channels`,`$serv.channels.size`,true)
        .addField(`Creation of Guild`,`$serv.createdAt`,true)
        .addField(`Default Notification`, defn,true)

预期结果:它会说 No AFK VC 实际结果:显示未定义或为空。

【问题讨论】:

【参考方案1】:

首先,您要检查是否有频道。 然后,您要将变量afk 设置为No AFK Channel。 最后,如果有一个 afk 频道,它会说是 AFK 频道。

if (!serv.afkChannel)
    var afk = `No AFK Channel`
    else var afk = `$serv.afkChannel`

“!”基本上使以下代码相反。 下一个代码会发出the variable afk is already defined 错误,但它基本上是“或”。如果没有 AFK 通道,则,或 如果有 AFK 通道,则。

如果你想的话,你现在需要的只是找出如何去掉#。享受吧!

【讨论】:

【参考方案2】:

除了...,'null' 之外,没有任何东西会匹配文字字符串 'null'。这里只是一个简单的例子:

console.log(null == 'null');       // The identity operator (==) even does type
console.log(undefined == 'null');  // conversions and these aren't the same.

console.log(null == null);         // These are both true, because null is not a string.
console.log(undefined == null);    // <-- Watch out: this is only true using the twins.

console.log('null' == 'null');     // The only match is the string compared to itself.

如果未定义通道,Guild.afkChannel 将是 undefined。什么都不应该返回 string 'null'。话虽如此,当您将serv.afkChannel`null` 进行比较时,布尔值永远不会为真。由于链中没有 else,因此无法定义 afk


在声明afk 变量时,您可以使用logical OR operator (||) 替换您的if/else 语句并防止您的问题:

var afk = serv.afkChannel || 'No AFK Channel';

如果serv.afkChannel 是falsy,则变量将被声明为'No AFK Channel'

【讨论】:

以上是关于如何修复 AFK 通道的“空”输出的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 [对象:空原型] 标题:'产品'

如何修复 trainserver 空服务器? [关闭]

如何修复 document.body 为空错误

如何修复可访问性的空按钮?

如何修复无法索引到 PowerShell 中的空数组

TensorFlow:如何修复 tflite 的 createtflitesimdmodule 返回空缓冲区