[英]How to make a bot not respond to itself discord.js
所以我知道if (message.author.id === client.user.id) return;
或者if(message.author.bot) return;
但我不知道我應該把它放在哪里。 我的代碼是這樣的:
const {Client, Intents} = require('discord.js');
const dotenv = require('dotenv')
dotenv.config();
const client = new Client(
{
intents:[
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MESSAGES,
]
}
);
client.on('ready', ()=>{
console.log('bot working ngl')
})
//greetings
const random_greeting = () =>{
return Math.floor(Math.random() * 6);
}
client.on('messageCreate', msg=>{
let greeting = ['Hi', 'Yo', 'Ohayo', 'Hello', '👋👋', 'Ok...',]
if (msg.content === 'hi', 'yo'){
msg.reply(greeting[random_greeting()])
}
})
client.on('message', message => {
if (message.author.id === client.user.id) return;
})
client.login(process.env.TOKEN)
正如您所看到的,當有人打招呼時,機器人會通過說出列表中 6 個單詞中的 1 個來打招呼,但問題是,每當機器人用該列表詞回復某人時,就會繼續發送這些單詞的垃圾郵件。 什么代碼可以阻止它自己回復,我應該把它放在哪里
只需添加到您的 messageCreate 事件:
if (message.author.bot) return;
這很簡單。 在您的 messageCreate 事件中,只需將其添加為事件的第一行:
if(msg.author == client.user) return;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.