如何解决如何检查机器人是否正在被 ping 通?
我正在创建一个“杀死”人的命令。我希望机器人返回消息“哈!你以为!@Author 死了!”如果他们 ping 机器人。 (我如何让机器人查看它是否被 ping 了?)答案已经更新,现在可以正常工作了。
const discord = require('discord.js');
const bot = new discord.Client();
module.exports = {
name: 'kill',description: 'kills',execute(message,args,bot) {
message.delete({ timeout: 30000 });
if (message.content.startsWith('-kill')) {
const target = message.mentions.users.first();
const memberTarget = message.guild.members.cache.get(target.id);
if (message.mentions.has(bot.user)) {
return message.channel.send(`HA! SIKE! <@${message.author.id}> died.`);
}
message.channel.send(`<@${memberTarget.user.id}> has died!`);
console.log(`<@${memberTarget.user.id} died.`);
}
},};
解决方法
您可以使用 message.mentions.has(bot.user)
来检查是否提到了机器人。此外,请确保您将机器人传递给您的 execute()
方法,而不是实例化一个新方法:
module.exports = {
name: 'kill',description: 'kills',execute(message,args,bot) {
message.delete({ timeout: 30000 });
if (message.content.startsWith('!kill')) {
const target = message.mentions.users.first();
const memberTarget = message.guild.members.cache.get(target.id);
if (message.mentions.has(bot.user)) {
return message.channel.send(`HA! SIKE! <@${message.author.id}> died.`);
}
message.channel.send(`<@${memberTarget.user.id}> has died!`);
console.log(`<@${memberTarget.user.id} died.`);
}
},};
并在您的主 JS 文件中传递 bot
对象:
// ...
client.commands.get('kill').execute(message,bot)
// ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。