var T2W = require("numbers2words");
var translator = new T2W("EN_US");
const { wordsToNumbers } = require('words-to-numbers');
let numbr = wordsToNumbers(message.content.toLowerCase());
message.channel.send(translator.toWords(numbr + 1));
这是在bot.on('message', async message) =>
中。我试过使用其他Node.js库,比如words to numbers和numbers2words。
我的想法是,例如,有人说"三",机器人用"四"回应,方法是将消息的编号("three"
到3
(,添加1
(4
(,然后将其转换回文字编号("four"
(。
我会感谢任何能回答这个问题的人,我一无所知
更简单/更简单的方法
您可以使用这两个库将数字转换为单词,反之亦然:
单词到数字:https://www.npmjs.com/package/words-to-numbers
数字到单词:https://www.npmjs.com/package/number-to-words
链接包含有关如何使用库的更多信息
更硬/更长的方法
您可以创建自己的函数,该函数接收一个数字或一个有文字的数字,然后返回该数字和该有文字的数值。为此,您可以(据我所知(创建一对数组,例如["one", "two", "three"]
、["hundred", thousand", "million"]
,并使用RegEx。
我在StackOverflow上发现了一个类似的问题帖子,在那里你可以查看如何编写自己的代码:用JavaScript将数字转换为单词。
顺便说一句,您会因为忘记了括号而出现语法错误。
您写道:bot.on("message", async message) => {});
应为:bot.on("message", async (message) => {});
或bot.on("message, async message => {});