#javascript #discord.js
#javascript #discord.js
Вопрос:
По сути, эта команда создает одну серьезную проблему и заключается в том, что тот факт, что когда пользователь отключен, он не будет включен, потому что команда не отвечает на команду отключения звука
const Discord = require('discord.js');
const fs = module.require('fs');
module.exports.run = async (client, message, args) => {
if (!message.member.hasPermission('MANAGE_MESSAGES')) return;
let unMute = message.mentions.members.first() || message.guild.members.cache.get(args[0]);
if (!unMute) {
let exampleEmbed = new Discord.MessageEmbed()
.setDescription("__UNMUTE INFO__")
.setColor(client.colors.success)
.setThumbnail(client.user.displayAvatarURL())
.addField(`Unmute Command`, `Unmutes a mentioned user.`)
.addField(`Unmute Command`, `Unmutes User By Id.`)
.addField("Example", `${client.config.prefix}Unmutes @user`)
.addField("Example", `${client.config.prefix}Unmutes @id`)
message.channel.send(exampleEmbed);
return;
}
let role = message.guild.roles.cache.find(r => r.name === 'Muted');
message.channel.send(`Please Check roles to be sure user was unmuted`);
if (!role || !unMute.roles.cache.has(role.id)) return message.channel.send(`That user is not muted.`);
if (!role || !unMute.roles.cache.has(User.id)) return message.channel.send(`----`);
let guild = message.guild.id;
let member = client.mutes[unMute.id];
if (member) {
if (member === message.guild.id) {
delete client.mutes[unMute.id];
fs.writeFile("./mutes.json", JSON.stringify(client.mutes), err => {
if (err) throw err;
})
await unMute.roles.remove(role.id);
message.channel.send(`:white_check_mark: ${unMute} Has been unmuted.`);
}
return;
}
await unMute.roles.remove(role.id);
message.channel.send(`:white_check_mark: ${unMute} Has been unmuted.`);
message.delete();
}
module.exports.config = {
name: 'unmute',
description: 'Unmute a user.',
access: 'Manage Messages Permission',
usage: 'unmute @vision'
}
Я также получаю сообщение об ошибке при ручном отключении пользователя
(node:6604) UnhandledPromiseRejectionWarning: ReferenceError: User is not defined
Любая форма помощи будет высоко оценена и спасибо за ваше время.
Ответ №1:
В строке if (!role || !unMute.roles.cache.has(User.id)) return message.channel.send('----')
вы ссылаетесь на переменную User , но она нигде не определена, и даже если бы она была определена, вам нужна роль, а не член или пользователь. Я почти уверен, что вместо этого это должно быть Role.id
. Кроме того, я не уверен в этом на 100%, но я думаю, что этого просто Role
не Role.id
должно быть.
Комментарии:
1. я пытался использовать Role.id но это выдает мне ошибку, но я попробую роль, и если это не сработает, есть ли у вас какие-либо другие предложения? или, если вам нужно взглянуть на полный код, я предоставлю