Мой Discord.js работает, но не реагирует на команды

#javascript #discord.js #bots

#javascript #discord.js #боты

Вопрос:

Я хотел создать бота для предложений для своего сервера discord, поэтому я закодировал, когда люди делают «!suggest «, бот напишет удобный способ, чтобы люди проголосовали за это предложение, и по какой-то причине бот не отвечает, я проверил похожие проблемы, которые случались с другими людьми, но решения не сработалидля меня.

Вот код:

 const { MessageEmbed } = require("discord.js")


module.exports = {
  name: "suggest",
  usage: "suggest <message>",
  description: "Send your Suggestion",
  category: "main",
  run: (client, message, args) => {
    
    if(!args.length) {
      return message.channel.send("Please Give the Suggestion")
    }
    
    let channel = message.guild.channels.cache.find((x) => (x.name === "suggestion" || x.name === "suggestions"))
    
    
    if(!channel) {
      return message.channel.send("there is no channel with name - suggestions")
    }
                                                    
    
    let embed = new MessageEmbed()
    .setAuthor("SUGGESTION: "   message.author.tag, message.author.avatarURL())
    .setThumbnail(message.author.avatarURL())
    .setColor("#ff2050")
    .setDescription(args.join(" "))
    .setTimestamp()
    
    
    channel.send(embed).then(m => {
      m.react("✅")
      m.react("❌")
    })
    

    
    message.channel.send("Sended Your Suggestion to "   channel)
    
  }
}
  

Ответ №1:

Исправление основных ошибок
В строке 11 вы ввели if (!args.length) { .
Это выдаст вам неопределенную ошибку, из-за которой остальная часть вашего кода не будет работать.

Замените эту строку следующим кодом:

 if(args.length < 1) {
    return message.channel.send("Please provide the Suggestion")
}
  

Исправление орфографических ошибок
Когда вы отправляете последнее сообщение в конце вашего кода

 message.channel.send("Sended Your Suggestion to "   channel)
  

«Отправлено» — это не слово, и его следует заменить на «Отправлено».