Я относительно новичок в node.js, и я решил создать собственный бот Twitch для канала друга. Мне нужно сделать что-то вроде команды! Nuke, где пользователи могут напечатать что-то вроде «! Nuke Kappa 40», а затем, скажем, в течение 5 минут, любой, кто введет Kappa в чат, получит тайм-аут на 40 секунд.
Я не совсем уверен, как это сделать и как его кодировать. Кто-нибудь может помочь?
Вот код, который у меня есть до сих пор
const tmi = require("tmi.js");
const tchannel = "testchannel";
const config = {
options: {
debug: true
},
connection: {
cluster: "aws",
reconnect: true
},
identity: {
username: "testbot",
password: "oauth:code"
},
channels: [tchannel]
};
const client = new tmi.client(config);
client.connect();
client.on("connected", (address, port) => {
console.log("Address: " + address + " Port: " + port);
client.color();
client.action(tchannel, "Hello. Welcome to the chat. :D");
});
client.on("message", (channel, userstate, message, self) => {
if (self) return;
let sender = user["display-name"];
// THE NUKE CODE
const nukepost = null;
if (userstate["mod"] === false) {
if (message.startsWith("!nuke ")) {
const nukepost = message.split("!nuke ").join("");
console.log("TEST " + nukepost);
if (message.includes(nukepost)) {
client.timeout(channel, sender, 10, "nuked!");
}
}
}
// timeout when link posted
if (user["mod"] === false) {
if (message.includes("www.") || message.includes(".com")) {
client.timeout(channel, sender, 10, "Link detection system triggered.");
}
}
switch (userstate["message-type"]) {
case "action":
break;
case "chat":
switch (message.toLowerCase()) {
case "!discord":
client.say(tchannel, "https://discord.gg/xyz");
break;
case "!twitter":
client.say(tchannel, "https://twitter.com/xyz");
break;
case "!hello":
client.say(
tchannel,
"Hello, welcome to the chat. :)"
);
break;
}
}
});