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

Discord.js have bot take in input from a user posting digit string

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

人物类型:!1234 机器人响应:https://youtube.com/1234

regex 这很简单。您只需搜索一个感叹号后跟一个数字。

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);