为什么我的addrole命令有错误?(discord.jsV12)



所以基本上我的addrole命令后的新版本的discord。Jsv13不再工作,并显示错误,如角色。Id不是一个函数或角色。id没有定义,即使我相信没有错误,我对javascript很有经验,但我尝试了不同的方法来修复它,但似乎都没有做到这一点,也许是因为v12被弃用了不和谐的API故障idk?

const lineReplyNoMention = require('discord-reply');
const color = process.env.Color;
module.exports = {
name: 'addrole',
cooldown: 5,
aliases: ['addnewrole'],
permissions: ["MANAGE_ROLES"],
clientpermissions: ["MANAGE_ROLES", "SEND_MESSAGES", "EMBED_LINKS"],
async execute(client, message, cmd, args, Discord) {
const user = message.mentions.users.first();
const usertarget = message.guilds.members.cache.get(user.id);
if (!user) {
const nopr = new Discord.MessageEmbed().setTimestamp().setColor(`${color}`).setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })).setDescription(`**`(prefix)addrole <@user> <@role>`**`)
return message.lineReplyNoMention({ embed: nopr })
}
args.shift()
const roleToGive = message.mentions.roles.first()
if (!roleToGive) {
const addroleError2 = new Discord.MessageEmbed().setTimestamp().setDescription(`**No Roles Provided!**`).setColor(`${color}`)
return message.lineReplyNoMention({ embed: addroleError2 })
}
usertarget.roles.add(roleToGive.id)
const embed = new Discord.MessageEmbed().setTimestamp().setColor(`${color}`).setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })).setDescription(`**Added: `${roleToGive}` To `${user.username}`**`)
message.lineReplyNoMention({ embed: embed })
}
}

我想你的问题可能来自你的discord-reply npm包没有更新。

我花时间编辑你的代码并修复我发现的一些问题。下面的代码在我这边工作。

//Import MessageEmbed class for the embeds.
const { MessageEmbed } = require("discord.js");
const color = process.env.Color;
module.exports = {
name: 'addrole',
cooldown: 5,
aliases: ['addnewrole'],
permissions: ["MANAGE_ROLES"],
clientpermissions: ["MANAGE_ROLES", "SEND_MESSAGES", "EMBED_LINKS"],
async execute(client, message, cmd, args, Discord) {
const user = message.mentions.users.first();
const usertarget = message.guild.members.cache.get(message.author.id); //guilds to guild & user to message.author
if (!user) {
const nopr = new MessageEmbed().setTimestamp().setColor(`${color}`).setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })).setDescription(`**`(prefix)addrole <@user> <@role>`**`)
return message.reply({ embeds: [nopr] }) //reply instead
}
args.shift()
const roleToGive = message.mentions.roles.first()
if (!roleToGive) {
const addroleError2 = new MessageEmbed().setTimestamp().setDescription(`**No Roles Provided!**`).setColor(`${color}`)
return message.reply({ embeds: [addroleError2] }) //reply instead.
}
usertarget.roles.add(roleToGive.id)
const embed = new MessageEmbed().setTimestamp().setColor(`${color}`).setAuthor(`${message.author.username}`, message.author.displayAvatarURL({ dynamic: true })).setDescription(`**Added: `${roleToGive}` To `${user.username}`**`)
message.reply({ embeds: [embed] }) //reply instead.
}
}

最新更新