tmi.js 消息与 input/argument?

tmi.js message with input/argument?

我正在使用 tmi.js-npm 开发一个 twitch-bot,我对此有疑问。

我想创建一个类似“!giveaway”这样的命令,输入可以是任何内容。例如。 “!赠品PG”。那么它应该 return "!pg"。所以关键字“!giveaway”应该是固定的,但是空白后面的部分可以是输入的任何内容。

我的脚本如下所示:

client.on("chat", function (channel, user, message, self) {
 if (message === "!Giveaway" + " " + "input"){
        if(user["display-name"] === "username"){
            client.say("channel", "!" + "input");
        } else {
            client.say("channel", "No permissions");
        }
 };
});

谢谢:)

像这样的东西是最常用的,建议添加更多检查,但这取决于您的需要。

检查传入消息以查看它是否以特定命令开头,如下所示:

message.startsWith("!giveaway")

和其他逻辑

if (message.startsWith("!giveaway")) {
    var input = message.split(' ')[1];
    if (input.count < 2) return;
    if (user["display-name"] === "username") {
        client.say("channel", "!" + input);

    } else {
        client.say("channel", "No permissions");
    }
}