gpt4 book ai didi

javascript - 禁止/踢出命令在使用时崩溃

转载 作者:行者123 更新时间:2023-11-30 14:08:18 27 4
gpt4 key购买 nike

所以,我正在制作一个公共(public)的不和谐机器人,但我的脚本的一部分有问题。我的 kick/ban 命令是用来完成的 $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");
});
}
});

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

最佳答案

当你没有提及时你的代码崩溃了,因为你没有捕获这个用例。

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

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");
});
}
});

关于javascript - 禁止/踢出命令在使用时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54946636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com