Discord.js让机器人接收用户发布的数字字符串的输入



我正在尝试开发一个机器人程序,该程序允许用户使用前缀(!(,然后键入一个随机数字字符串(例如!1234(,然后机器人程序将其用作输入,添加到网站url中以查找图像。我是js的新手,所以我真的不知道该怎么做,所以如果有人能给我指明正确的方向,那就太好了!

人员类型:!1234Bot的回应是:https://youtube.com/1234

使用正则表达式很简单。你只需要搜索一个后面跟着数字的感叹号。

let str = '!1234'; //message content
let chosenNum = str.match(/!d+/)?.[0].slice(1); //1234
//to send
<channel>.send(`https://youtube.com/${chosenNum}`)

如果你想要一定数量的数字,请使用这个

let chosenNum = str.match(/!d{1, 4}/)?.[0].slice(1)
//1 is min, 4 is max

另一种方法可以做到这一点,你必须在做这件事之前做一些检查,否则可能会有一些意想不到的结果

if(parseInt(msg.content.slice(1)) != msg.content.slice(1)) return;
let chosenNum = msg.content.slice(1);

最新更新