Как я могу удалять префиксы из ника пользователя?
Всем привет! Не могу додуматься как удалять дополнительно префиксы в нике пользователя на сервере "сдох" и "зр. ". На данный момент после использования команды, БОТ стирает только префикс-цифры "01. ", "02. " и тд. хочу чтобы вместе с этим он удалял префиксы "сдох" и "зр."
const {asyncGetMafiaMembersIds, shuffle, wait, checkRights, getMafiaPlayerRoleName, randomDelay, asyncForEach, getMafiaMembersIds, getMafiaPlayerByPrefix, delay, random1} = require("../events/util");
module.exports = async (client, message) => {
let rights = await checkRights(message);
if (!rights) {return;}
if(!message.member.voiceChannel) {
await message.channel.send("Зайди в голосовой канал игры!");
return;
}
let channelMembers = message.member.voiceChannel.members.map(m=>m);
let messageToSend = "";
await asyncForEach(channelMembers, async (member, num)=>{
// console.log("после чистки", member.displayName);
let oldName = member.displayName;
let regexObj = /(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)\.\ /;
if (regexObj.test(oldName.substr(0, 4))) {
oldName = oldName.slice(4);
}
let regexObj2 = /(0|1|2|3|4|5|6|7|8|9)\.\ /;
if (regexObj.test(oldName.substr(0, 3))) {
oldName = oldName.slice(3);
}
let newName = "";
newName = oldName;
if (newName !== member.displayName) {
await member.setNickname(newName).catch(e=>{messageToSend += `*Недостаточно прав для переименования ${member.displayName}*
`});
}
});
await message.channel.send("Номера-префиксы стерты");
};
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Оно?
const re = /^(\d+\.|сдох|зр\.)/
console.log('5.Вася'.replace(re, ''))
console.log('06.Вася'.replace(re, ''))
console.log('сдохПетя'.replace(re, ''))
console.log('зр.Коля'.replace(re, ''))