【发布时间】:2022-01-24 19:55:17
【问题描述】:
所以我知道让机器人不响应自己的方法是放在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 个来打招呼,但问题是,每当机器人用该列表词回复某人时,就会继续向这些词发送垃圾邮件。什么代码可以阻止它自己回复,我应该把它放在哪里
【问题讨论】:
标签: javascript discord discord.js