'noblox.js getroles command Discord.js
I am trying to make a roblox getRoles command. But I cant seem to get the bot to add the roles and show which roles where added and removed. Below is my code. There are no errors in the console.
Get Roles command:
module.exports = {
name: 'get-roles',
aliases: ['getroles', 'gr'],
usage: '!get-roles',
description: 'Get your roles by rank',
async execute(client, message, args) {
Reg.findOne({
discorduserID: message.member.id,
}, (err, database) => {
if (err) console.log(err)
console.log(database)
if (database == null) {
const embed = new MessageEmbed()
.setTitle(`Error!`)
.setColor("#FF0505")
.setDescription(`You need to be verified to use this command\n\nCommand: **!verify**`)
message.channel.send(embed)
return;
} else {
let UserId = parseInt(database.Robloxid)
let group = 13787799
rbx.getRankNameInGroup(group, UserId).then(function (rankName) {
let groupRank = `${rankName}`
let removedRoles = ['None'];
let addedRoles = ['None'];
let roles = ["Major General",
"Brigadier General ",
"Command Sergeant Major ",
"Colonel ",
"Lieutenant Colonel ",
"Major ",
" Captain ",
" First Lieutenant ",
" Second Lieutenant ",
" Sergeant Major ",
" First Sergeant ",
" Sergeant First Class ",
"Staff Sergeant ",
" Sergeant ",
" Corporal ",
" Specialist ",
" Private First Class ",
"Private Second Class",
"Private",
"Guest"]
console.log(groupRank)
console.log(removedRoles)
if (groupRank === roles && !message.member.roles.cache.has(roles)) {
let roleToAdd = message.guild.roles.cache.find(role => role.name === roles);
console.log(roleToAdd)
//if (addedRoles.includes('None')) {
addedRoles.shift();
console.log(addedRoles)
message.member.roles.add(roleToAdd);
let added = addedRoles.push(roleToAdd);
console.log(added, addedRoles)
return;
}
if (message.member.roles.cache.has(roles) && groupRank !== roles) {
let roleToRemove = message.guild.roles.cache.find(role => role.name === roles);
console.log(roleToRemove)
// if (removedRoles.includes('None')){
removedRoles.shift();
message.member.roles.remove(roleToRemove);
let removed = removedRoles.push(roleToRemove);
console.log(removed, removedRoles)
// }
return;
}
const updatedRoles = new Discord.MessageEmbed()
.setTitle('Updated Roles for ' + message.author.tag)
.setColor('GREEN')
.setFooter(`Mayflower National Guard`, client.user.displayAvatarURL())
.setDescription('I have updated roles for ' + message.author.tag)
.addFields({
name: 'Added Roles',
value: addedRoles.join(', '),
inline: true
}, {
name: 'Removed Roles',
value: removedRoles.join(", "),
inline: true
})
message.channel.send(updatedRoles)
})
}
})
}
}
My database schema:
const mongoose = require("mongoose")
const verifiedSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
discorduserID: String,
Robloxuser: String,
Robloxid: String,
});
module.exports = mongoose.model("Verified",verifiedSchema)
Console:
C:\Users\SniperrifleXD\Documents\MNG Bot>node .
Logged in as MNG_BOT
Ready!
Connected to MNG Database!
{
_id: new ObjectId("61eef61c5dd88921f3a33f4f"),
discorduserID: '648267393604255781',
Robloxuser: 'Choppa_ELN',
Robloxid: '2387994403',
__v: 0
}
Brigadier General
[ 'None' ]
The bot keeps responding with this. I cant post images btw.
Updated Roles for Lucifer Morningstar#9493
I have updated roles for Lucifer Morningstar#9493
Added Roles
None
Removed Roles
None
Mayflower National Guard
I hope this makes sense.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
