【问题标题】:My discord Bot will not send commands everytimes we try it goes offline每次我们尝试离线时,我的 discord Bot 都不会发送命令
【发布时间】:2020-08-14 16:25:35
【问题描述】:
const Discord = require('discord.js')
const Client = new Discord.Client();
const {prefix,token} = require('./config.json');
const fs = require('fs');

Client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
  const command = require(`./commands/${file}`);
  Client.commands.set(command.name, command);
}


Client.once('ready', () => {
    console.log('Ready!');
});

Client.on('message', message => {
  
    if (!message.content.startsWith(prefix) || message.author.bot) return;
  if (!Client.commands.has(command)) return;

  const args = message.content.slice(prefix.length).trim().split(/ +/);
  const command = args.content().toLowerCase();
  
  try {
    Client.commands.get(command).execute(message, args);
  } catch (error) {
    message.reply('error')
  }
});

我希望有人能提供帮助,我和我的朋友一直在努力修复错误,但我们无法修复它 我会将错误发送给任何可以提供帮助的人, 我和我的朋友在我发出命令的命令中有命令,但我知道他们给了我们错误。

【问题讨论】:

  • 错误承诺 { } 准备好了! /home/runner/Discord/index.js:23 如果 (!Client.commands.has(command)) 返回; ^ ReferenceError:在初始化之前无法访问“命令”

标签: javascript node.js discord


【解决方案1】:

command 的声明之后移动这一行(if (!Client.commands.has(command)) return;)。那么它应该可以正常工作了。

const Discord = require('discord.js')
const Client = new Discord.Client();
const {prefix,token} = require('./config.json');
const fs = require('fs');

Client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
  const command = require(`./commands/${file}`);
  Client.commands.set(command.name, command);
}


Client.once('ready', () => {
    console.log('Ready!');
});

Client.on('message', message => {
  
  if (!message.content.startsWith(prefix) || message.author.bot) return;

  const args = message.content.slice(prefix.length).trim().split(/ +/);
  const command = args.content().toLowerCase();

  if (!Client.commands.has(command)) return;
  
  try {
    Client.commands.get(command).execute(message, args);
  } catch (error) {
    message.reply('error')
  }
});

【讨论】:

    猜你喜欢
    • 2021-01-31
    • 2021-07-26
    • 2018-11-21
    • 2018-04-17
    • 2015-04-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多