杀死 discord.js 中的命令处理程序脚本

Posted

技术标签:

【中文标题】杀死 discord.js 中的命令处理程序脚本【英文标题】:Kill a Command Handler script in discord.js 【发布时间】:2021-05-10 05:45:29 【问题描述】:

我正在使用 discord.js 开发一个不和谐的机器人,但我不擅长编码。我想要做的是得到一个命令来启动一个进程来询问然后接受用户输入。所以机器人会问一些东西,它会听用户的消息。但我也想要一个命令来停止这个询问过程。有没有办法杀死这个特定命令的命令处理程序而不是 main.js?我的 main.js 和我使用的命令处理程序:

const Discord = require('discord.js')
const bot = new Discord.Client()
const fs = require('fs')
bot.commands = new Discord.Collection()

const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'))
for(const file of commandFiles)
    const command = require(`./commands/$file`)
 
    bot.commands.set(command.name, command)


bot.on('message', message =>
    if(command === 'ask')
        bot.commands.get('ask').execute(message,args, bot)
    

命令处理程序:

module.exports = 
    name: 'ask',
    execute(message, args, bot)
         bot.on('message', msg =>
             if(msg.content.toLowerCase() == "endask")
                // So is there anyway here to only kill this command handler
             
         
    

【问题讨论】:

【参考方案1】:

首先,您可能应该尝试更多地了解命令处理程序,因为您似乎在其中放置了一个事件,以及您“结束”它的方式将使用“return”和它将停止你的命令。

【讨论】:

以上是关于杀死 discord.js 中的命令处理程序脚本的主要内容,如果未能解决你的问题,请参考以下文章

Discord.JS 命令处理程序子文件夹

discord.js 命令处理程序错误

Discord.js 命令处理程序机器人不响应

如何为我的 Discord.js 机器人编写事件/命令处理程序?

在 discord.js 中制作带有前缀的命令处理程序时出现问题 [重复]

当不应该在 discord.js 命令处理程序中未定义时,无法读取未定义的属性