好的,嘿。
我也试图在Discord.js中ping /标记机器人本身。 所以当用户在命令中对机器人进行ping操作时,我定义了我自己。 那就是我到目前为止所拥有的:
async run(message, args)
{
let huggeduser = message.mentions.users.first()
let auser = message.author
if(huggeduser == message.author) {
message.channel.send(`${auser} , you cant hug yourself!`)
return;
}
if(client.bot = huggeduser) { //(Note) How too tag the bot as it self like : (huggeduser == <the string too tag the bot>) {
message.channel.send("You cant meeeee hug!")
return;
}
其余代码工作正常。 只是带有(注释)的代码部分
如果有人可以帮助我,我会很乐意。我已经尝试了2天了。
谢谢。
答案 0 :(得分:0)
使用双等号检查相等性。另外,检查整个用户对象效率很低,只需检查其ID即可。
另外,根据您在注释中的错误以及此函数的名称,我假设它在另一个文件中,并且您在顶部有以下一行:
const client = new Discord.Client();
因此,在这种情况下,client
不是登录的bot用户不是,它是一个空的,未登录的bot,不知道它是谁。您应该从消息对象获取client
:
async run(message, args)
{
let huggeduser = message.mentions.users.first()
let auser = message.author
if(!huggeduser) return; //message for if no user was mentioned?
if(huggeduser.id == auser.id) {
message.channel.send(`${auser} , you cant hug yourself!`)
return;
} else if(huggeduser.id == message.client.user.id) {
message.channel.send("You cant meeeee hug!")
return;
}
//rest of code