为什么我的addrole命令有错误? (discord.jsv12)
因此,基本上是我的addrole命令,在新版本的discord.jsv13不再起作用并显示诸如cool.ID之类的错误。ID不是函数或角色。即使我相信没有错误,我也没有定义ID,我很漂亮,我很漂亮有JavaScript经验丰富,但我尝试了不同的方法来修复它,但似乎都没有解决问题,也许是因为V12被弃用了Discord 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 })
}
}
So basically my addrole command after the new version of discord.jsv13 no longer works and displays errors like role.id is not a function or role.id is not defined even though I believe there is no error, I'm pretty experienced with javascript but I tried different methods of fixing it but neither seem to do the trick, maybe because v12 is deprecated the discord API malfunctions idk?
The code
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 })
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您的问题可能来自您的 discord-reply npm back 。
我花了一些时间编辑您的代码并解决了一些我发现的问题。下面的代码在我这边工作。
I think your issue may come from your discord-reply npm package which isn't updated.
I took the time to edit your code and fix some issues I found. The code below worked on my side.