Linie 14 feuern sollte, wenn es keine Befehle mit der Gilde-ID sind,Wenn Anweisung Brennen, wenn es nicht sollte
Linie 15 sollte ausgelöst, wenn der Benutzer keine Befehle in dieser Gilde hat, aber
!commands @Rusty#2746
gibt No commands in this guild.
im Server Go away
zurück. (Ich habe einen Befehl in diesem Server)
!commands @Rusty#2746
kehrt No commands in this guild.
UND der eigentliche Befehl in dem Server SurgicalGoblin
. (Ich habe einen Befehl in diesem Server)
let user = message.mentions.users.first();
if (args.length !== 1) return message.reply("Incorrect arguments, " + args.length + " given, 1 required.");
if (message.mentions.users.size !== 1) return message.reply("You must mention a user to view the commands of.");
fs.readFile(path.join(__dirname, "../jsonFiles") + "/customCommands.json", "utf-8", function(err, data) {
if (err) throw err;
var arrayOfObjects = JSON.parse(data);
if (arrayOfObjects.commands.length === 0) return message.reply("No custom commands found.");
for (let i = 0; i < arrayOfObjects.commands.length; i++) {
console.log(message.guild.id) // matches the guild_id in json file
if (message.guild.id !== arrayOfObjects.commands[i].guild_id) return message.reply("No commands in guild.");
if (message.guild.id !== arrayOfObjects.commands[i].guild_id && user.id !== arrayOfObjects.commands[i].user_id) return message.reply(user.username + " has no commands in this guild.");
fs.writeFile(path.join(__dirname, "../jsonFiles") + "/customCommands.json", JSON.stringify(arrayOfObjects, null, 2), "utf-8", function(err) {
if (err) throw err;
const embed = new Discord.RichEmbed()
.setColor(0x08F258)
.setAuthor("Custom Commands for " + user.username, message.author.avatarURL)
.addField(arrayOfObjects.commands[i].command_name, arrayOfObjects.commands[i].command_reply)
return message.channel.sendEmbed(embed);
});
}
});
JSON: https://hastebin.com/zucogajita.json
Ist es möglich, gibt es einen Typenkonflikt? Wir sehen nicht, wie 'message.guild.id' definiert ist ... ist es, wie' arrayOfObjects.commands [i] .guild_id', auch eine Zeichenkette? – nb1987
In Zeile 13 loggte ich es und es gab mir die richtige Gilden ID. 'message.guild.id' ist in Discord.js (Framework, das ich verwende) eingebaut. –
Aber selbst wenn der Wert basierend auf der Protokollanweisung offensichtlich übereinstimmt, kann der Typ unterschiedlich sein. Versuchen Sie zum Beispiel, Ihren Ungleichheitsoperator in Zeile 14 von '! ==' nach '! =' ... zu ändern. Wird die Bedingung 'if' immer noch als wahr ausgewertet? – nb1987