【问题标题】:Ban/kick command crashes on use禁止/踢命令在使用时崩溃
【发布时间】:2019-07-23 14:30:51
【问题描述】:

所以,我正在制作一个公共不和谐机器人,但我的脚本的一部分遇到了问题。我的踢/禁止命令是为了完成$ban @user 它必须在 ping 中完成。由于这是公开的,我真的很想解决这个问题。我不希望一个人搞砸它并使其崩溃以使所有服务器崩溃。如果有人在 ping 中没有 $ban user,它会使机器人崩溃。这是我的代码:

client.on("message", (message) => {
  if (message.content.startsWith("$kick")) {
    if (!message.member.roles.find("name", "MODS"))
      return;
    // Easy way to get member object though mentions.
    var member = message.mentions.members.first();
    // Kick
    member.kick().then((member) => {
      // Successmessage
      message.channel.send(":wave: " + member.displayName + " has been successfully kicked :point_right: ");
    }).catch(() => {
      // Failmessage
      message.channel.send("Access Denied");
    });
  }
});

我不希望我的机器人不断崩溃以破坏其他人的使用,有人可以帮忙吗?

【问题讨论】:

    标签: javascript discord discord.js


    【解决方案1】:

    当您没有提及此用例时,您的代码崩溃了。

    添加一个简单的捕获,例如返回,应该适合你:

    client.on("message", (message) => {
        if (message.content.startsWith("$kick")) {
            if(!message.member.roles.find("name", "MODS"))
                return;
            // Easy way to get member object though mentions.
            var member= message.mentions.members.first();
    
            // No mentions catch
            if (member === undefined) return;
    
            // Kick
            member.kick().then((member) => {
                // Successmessage
                message.channel.send(":wave: " + member.displayName + " has been successfully kicked :point_right: ");
            }).catch(() => {
                 // Failmessage
                message.channel.send("Access Denied");
            });
        }
    });
    

    【讨论】:

      【解决方案2】:

      我认为当您键入 $ban user 时发生了什么(没有提及),后来当您分配 var member = message.mentions.members.first(); 时它给您 null(因为没有提及)。尝试确保message.mentions.members 不为空。

      干杯:)

      【讨论】:

      • 谢谢您,您的回答都有帮助!
      猜你喜欢
      • 2020-11-18
      • 2020-10-20
      • 2019-10-17
      • 1970-01-01
      • 2020-04-07
      • 2021-10-06
      • 2022-07-16
      • 2011-08-23
      • 2021-04-02
      相关资源
      最近更新 更多