Я хочу, чтобы администраторы, моды, ... имели префиксы для своей роли перед своим именем, и я уже написал что-то работающее, но если у человека есть несколько ролей с префиксами, и одна из них удаляется, он удаляет слишком многоили слишком мало префиксов, если вы не удалите их в том же порядке, в котором вы добавили к ним роли:
const PREFIX = {
"331525375622381578": "[CC]",
"368443021500612608": "[Mod]",
"476419648565411840": "[StA]",
"432961003588943882": "[Sub]",
"525439226507034626": "[VIP]",
"420592943376629760": "[U]"
}
client.on('guildMemberUpdate', (mold, mnew) => {
var guild = mnew.guild
if (mold.roles.array().length < mnew.roles.array().length) {
var role = mnew.roles.find(r => mold.roles.find(rold => rold.id == r.id) == null)
if (role.id in PREFIX) {
mnew.setNickname(`${PREFIX[role.id]} ${mnew.displayName}`)
}
}
else if (mold.roles.array().length > mnew.roles.array().length) {
var role = mold.roles.find(r => mnew.roles.find(rold => rold.id == r.id) == null)
if (role.id in PREFIX) {
mnew.setNickname(mnew.displayName.substr(PREFIX[role.id].length + 1))
}
}
})