Я пытаюсь создать команду в Discord. js бот, при использовании которого d! Noattention member он получает всех пользователей на сервере, у которых есть специальные символы в начале их имени пользователя или ник и меняет свой ник на член Мой код:
const options = [
"!",
"?",
'/',
'\'',
'~',
'#',
'@',
'+',
'=',
'(',
'*',
'&',
'^',
'%',
'$',
'[',
'`',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'_',
'-',
'.',
'¿'
];
module.exports = {
name: "noattention",
aliases: ["attentionnick", "anick"],
description: "Change nickname of all the attentions seekers to something you want.",
category: "moderation",
usage: "<new nickname>",
run: async(client, message, args) => {
if(!message.member.hasPermission(["MANAGE_NICKNAMES"])) return message.reply("You do not have permission to use this command.").then(m => m.delete(15000));
const name = args.join(" ");
if(!name) return message.reply("Also provide the new nickname you want for attention seekers.").then(m => m.delete(15000));
for (i = 0; i < options.length; i++) {
const user = message.guild.members.filter(m => m.displayName.startsWith(options[i]));
user.forEach(u => u.setNickname(name));
}
message.channel.send(`Successfully changed nicknames of all attention seeking members`);
}
}
Он работает хорошо, но я также хочу, чтобы он отправил мне и сообщил, сколько никнеймов пользователей было изменено. Когда я пытаюсь поместить код message.channel.send
под for (i = 0; i < options.length; i++)
, чтобы он мог получить значение user
, бот начинает спамить сообщение и не называет количество пользователей. user.length
здесь не работает.