使 Discord.js 命令不区分大小写
Making Discord.js commands case insensitive
所以我做了一个 Discord 机器人,我有很多命令。不断出现的一个问题是,对于具有自动大写功能的移动用户,机器人将无法识别该消息。我找到的关于这个主题的所有教程都在 Discord.js 的另一个版本中。如何使用 .toLowerCase() 使所有命令不区分大小写?
'use strict';
/**
* A ping pong bot, whenever you send "ping", it replies "pong".
*/
// Import the discord.js module
const Discord = require('discord.js');
// Create an instance of a Discord client
const client = new Discord.Client();
/**
* The ready event is vital, it means that only _after_ this will your bot start reacting to information
* received from Discord
*/
client.on('ready', () => {
console.log('I am ready!');
});
// Create an event listener for messages
client.on('message', message => {
// If the message is "ping"
if (message.content.toLowerCase().startsWith("ping")) {
// Send "pong" to the same channel
message.channel.send('pong');
}
});
// Log our bot in using the token from https://discordapp.com/developers/applications/me
client.login('your token here');
相关行:
if (message.content.toLowerCase().startsWith("ping")) {
您可以使用 String.prototype.toLowerCase(),其中 return 将调用字符串值转换为小写。
例如,如果您在以下字符串上使用 String.prototype.toLowerCase(),它将 return:
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.`);
}
});
所以我做了一个 Discord 机器人,我有很多命令。不断出现的一个问题是,对于具有自动大写功能的移动用户,机器人将无法识别该消息。我找到的关于这个主题的所有教程都在 Discord.js 的另一个版本中。如何使用 .toLowerCase() 使所有命令不区分大小写?
'use strict';
/**
* A ping pong bot, whenever you send "ping", it replies "pong".
*/
// Import the discord.js module
const Discord = require('discord.js');
// Create an instance of a Discord client
const client = new Discord.Client();
/**
* The ready event is vital, it means that only _after_ this will your bot start reacting to information
* received from Discord
*/
client.on('ready', () => {
console.log('I am ready!');
});
// Create an event listener for messages
client.on('message', message => {
// If the message is "ping"
if (message.content.toLowerCase().startsWith("ping")) {
// Send "pong" to the same channel
message.channel.send('pong');
}
});
// Log our bot in using the token from https://discordapp.com/developers/applications/me
client.login('your token here');
相关行:
if (message.content.toLowerCase().startsWith("ping")) {
您可以使用 String.prototype.toLowerCase(),其中 return 将调用字符串值转换为小写。
例如,如果您在以下字符串上使用 String.prototype.toLowerCase(),它将 return:
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.`);
}
});