префиксы роли раздора: удаление их в другом порядке, как они были добавлены - PullRequest
0 голосов
/ 24 февраля 2019

Я хочу, чтобы администраторы, моды, ... имели префиксы для своей роли перед своим именем, и я уже написал что-то работающее, но если у человека есть несколько ролей с префиксами, и одна из них удаляется, он удаляет слишком многоили слишком мало префиксов, если вы не удалите их в том же порядке, в котором вы добавили к ним роли:

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))
        }
    }
})
...