【发布时间】:2022-01-11 03:08:06
【问题描述】:
我正在尝试在 discord.js 版本 12 中创建一个下拉角色系统,每当我选择多个角色时,它只会给我添加的第一个角色。
这是我的代码:
client.on('clickMenu', async menu => {
if (menu.values[0] == "quote_pings") {
if (menu.clicker.member.roles.cache.has("809011668465745940")) {
await menu.clicker.member.roles.remove("809011668465745940")
return menu.reply.send("I have removed you from the quote pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("809011668465745940")){
await menu.clicker.member.roles.add("809011668465745940")
return menu.reply.send("I have given you the quote pings role!", true)
}
} else if (menu.values[0] == "economy_pings") {
if (menu.clicker.member.roles.cache.has("809354393413222431")) {
await menu.clicker.member.roles.remove("809354393413222431")
return menu.reply.send("I have removed you from the economy pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("809354393413222431")){
await menu.clicker.member.roles.add("809354393413222431")
return menu.reply.send("I have given you the economy pings role!", true)
}
} else if (menu.values[0] == "server_pings") {
if (menu.clicker.member.roles.cache.has("772763475973242900")) {
await menu.clicker.member.roles.remove("772763475973242900")
return menu.reply.send("I have removed you from the economy pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("772763475973242900")){
await menu.clicker.member.roles.add("772763475973242900")
return menu.reply.send("I have given you the economy pings role!", true)
}
} else if (menu.values[0] == "event_pings") {
if (menu.clicker.member.roles.cache.has("828575560137572402")) {
await menu.clicker.member.roles.remove("828575560137572402")
return menu.reply.send("I have removed you from the event pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("828575560137572402")){
await menu.clicker.member.roles.add("828575560137572402")
return menu.reply.send("I have given you the event pings role!", true)
}
} else if (menu.values[0] == "movie_pings") {
if (menu.clicker.member.roles.cache.has("828575746845835305")) {
await menu.clicker.member.roles.remove("828575746845835305")
return menu.reply.send("I have removed you from the event pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("828575746845835305")){
await menu.clicker.member.roles.add("828575746845835305")
return menu.reply.send("I have given you the event pings role!", true)
}
} else if (menu.values[0] == "chat_pings") {
if (menu.clicker.member.roles.cache.has("872241962588201031")) {
await menu.clicker.member.roles.remove("872241962588201031")
return menu.reply.send("I have removed you from the chat revive pings role.", true)
} else if (!menu.clicker.member.roles.cache.has("872241962588201031")){
await menu.clicker.member.roles.add("872241962588201031")
return menu.reply.send("I have given you the chat revive pings role!", true)
}
}
})
每当我获得所有角色时,我只会获得一个角色。
【问题讨论】:
标签: javascript node.js discord.js