所以我想让一个机器人来回答发送的dm。但是我希望它只回复一个人一次,而不管发送的邮件数量如何。 到目前为止,这是我的代码。
注意:我故意设置超时功能,我希望它有5秒的等待时间。
bot.on("message", async (message) => {
setTimeout(function () {
if (message.channel.type == "dm") {
message.author.send("Hi");
}
}, 5000);
});
答案 0 :(得分:0)
您可以使用Set()
const users = new Set();
bot.on('message', async (message) => {
setTimeout(() => {
if (message.channel.type == 'dm') {
if (users.has(message.author.id)) return; // if user has already sent dm
message.author.send('Hi');
users.add(message.author.id); // if not, add user to the set and send the message
}
}, 5000);
});