首页 > 解决方案 > 使 Discord.js 命令不区分大小写

问题描述

所以我做了一个 Discord 机器人,我有很多命令。一个不断出现的问题是,对于自动大写的移动用户,机器人将无法识别消息。我在这个主题上找到的所有教程都在另一个版本的 Discord.js 中。如何使用 .toLowerCase() 使所有命令不区分大小写?

标签: javascriptnode.jsdiscorddiscord.jscase-sensitive

解决方案


您可以使用String.prototype.toLowerCase()返回转换为小写的调用字符串值。

例如,如果您对以下字符串使用String.prototype.toLowerCase(),它将返回:

hello world-->hello world

hElLo WoRlD-->hello world

...->...

您在message.content上使用它,因为它是一个字符串,将其转换为小写,然后检查内容是否等于您的命令。

这是一个例子:

client.on("message", message => {
    /**
     * Any message like the following will pass the if statement:
     * -testcommand
     * -TeStCoMMaND
     * -TESTCOMMAND
     * etc...
     */
    if (message.content.toLowerCase() == "-testcommand") {
        message.reply(`This is a test command.`);
    }
});

推荐阅读