猿问

为什么我的 Discord 命令没有响应,尽管在线并且没有检测到错误?

我是 JavaScript 的初学者,但我之前用 C# 编写过一个项目。对不起,如果我犯了菜鸟错误!

我最近开始为我碰巧管理的服务器编写一个 Discord 机器人,并且我创建了一个频道,它在垃圾邮件聊天中对用户进行垃圾邮件标记。只有一个小问题我一辈子都解决不了。我发出的命令不起作用,我不确定代码哪里出错了。VS Code 也没有检测到任何错误。该代码本地托管在我的笔记本电脑上。

我一直在关注 CodeLyon 的教程,他们的代码运行得非常好。我只是不确定为什么我的代码不能工作,尽管它遵循类似的格式和通用代码。

我没有通过搜索查询进行研究。多种解决方案都没有奏效,包括一个解决方案,在该解决方案中,我会console.log在终端中放置一行,指示机器人检测到我发送的消息中的前缀。该解决方案不起作用,所以我迷路了。我的所有代码看起来都可以运行,显然,该机器人在线是因为它能够在某个频道中发送垃圾邮件。是否有更新改变了 discord.js 检测消息的方式?

这是 index.js 代码(谢天谢地只有 46 行),第二段代码是if接近尾声的语句所期望的 test.js 文件。

const Discord = require('discord.js');

const client = new Discord.Client();

const commandPrefix = 'j!';

const fs = require('fs');

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

 

// (client.login token would go here, but removed for censorship's sake)

client.on('ready', () => {

    console.log('"jaka-bot!!~" is now online!');

 

    var spamChannel = client.channels.cache.get('(are channel tags meant to be censored?)');

    setInterval(() => {

        spamChannel.send("||(user id removed for censorship)|| Hi there! I'm **jaka-bot**, a bot made by jakanz! ( Or as you may know them as *'jaka-chan'* or simply *'jaka.'* )\n\n**Make sure to DM jaka-chan if these messages ever stop!** It means that his code must've stopped due to lost internet connection or his laptop crapped out.");

    }, 1)

})

 

client.commands = new Discord.Collection();

for(const file of commandFiles){

    const command = require(`./commands/${file}`);

    client.commands.set(command.name, command);

}

 (我提供了所有我能提供的代码,因为我不想给出随机的代码块,即使问题出在另一个问题上。)


所有代码看起来都可以接受,但我不确定代码丢失的位置会使机器人对我的命令没有响应!如果您能提供帮助,将不胜感激。祝你今天过得愉快!


守候你守候我
浏览 277回答 1
1回答

白衣染霜花

要获取字符串的长度,请使用.length而不是.Length。const args = message.content.slice(commandPrefix.Length).split("/ +/");应该const args = message.content.slice(commandPrefix.length).split("/ +/");
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答