【问题标题】:Discord.js have bot take in input from a user posting digit stringDiscord.js 让机器人接收来自用户发布数字字符串的输入
【发布时间】:2021-09-26 06:07:27
【问题描述】:

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

人员类型:!1234 机器人回复:https://youtube.com/1234

【问题讨论】:

    标签: javascript node.js discord discord.js bots


    【解决方案1】:

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

    【讨论】:

    • 谢谢!你知道我如何将它与 discord.js 一起使用吗?
    • 只需在消息事件回调中使用message.content.match 而不是str.match。另外,如果有帮助,请将此帖子标记为正确! (赞成/反对按钮下方的灰色复选标记)
    • 那么在输入代码时,如果它是不同的输入而不是!1234,如何让 str 发挥作用?人们会输入随机数而不仅仅是 1234
    • 不要在你的代码中加入let str。我把它放在那里只是为了测试目的。仅使用 message.content 代替。 (message.content.match(…)?.[0].slice(1))
    • 好的,谢谢!无论如何要让他们不输入文本而不是数字?
    猜你喜欢
    • 2021-07-27
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2023-03-12
    • 2012-02-11
    • 2018-11-25
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多