Node.js 带输入/参数的tmi.js消息?

Node.js 带输入/参数的tmi.js消息?,node.js,twitch,Node.js,Twitch,我正在使用tmi.js-npm开发一个twitch机器人,我有一个问题要问 我想用输入生成一个类似-“!giveway”的命令,它可以是任何东西。例如“!赠品pg”。然后它应该返回“!pg”。所以关键字“赠送”应该是固定的,但是空白之后的部分可以是输入的任何东西。 我的脚本如下所示: client.on("chat", function (channel, user, message, self) { if (message === "!Giveaway" + " " + "input"){

我正在使用tmi.js-npm开发一个twitch机器人,我有一个问题要问

我想用输入生成一个类似-“!giveway”的命令,它可以是任何东西。例如“!赠品pg”。然后它应该返回“!pg”。所以关键字“赠送”应该是固定的,但是空白之后的部分可以是输入的任何东西。

我的脚本如下所示:

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");
    }
}
if(message.startsWith(“!giveaway”)){
var输入=message.split(“”)[1];
如果(input.count<2)返回;
如果(用户[“显示名称”]=“用户名”){
客户端。说(“频道”、“!”+输入);
}否则{
客户端。说(“频道”,“无权限”);
}
}

谢谢,这是否也适用于“message.endsWith”之类的内容?如果您想查看邮件的结尾,当然可以。