Jak jsem vytvořil výstrahu Twitch živě

🔧 Použitá technologie

Pro tento malý projekt jsem použil Twitch API s knihovnou node-twitch na npm.

Výstražnou zprávu posílám na Discord s úžasným bohatým textem (aka embed ), zde je zpráva :

⚙️ Jak to funguje?

Poprvé v mém hlavním souboru s názvem app.js mám základní požadavky.

const Discord = require('discord.js')
const client = new Discord.Client()
const TwitchAPI = require('node-twitch').default
const config = require('./config')

const twitch = new TwitchAPI({
    client_id: config.twitch.AppClientID,
    client_secret: config.twitch.AppSecretToken
})

Pro AppClientID a AppSecretToken přejděte do konzole Twitch Dev Console. Vytvořte novou aplikaci a zachyťte vše.

Pro druhou část je to hlavní systém.

Kdy X spustí stream, skript zkontroluje, zda je zpráva již odeslána nebo ne s proměnnou paměti. Pojmenoval jsem IsLiveMemory .

Výchozí stav:

let IsLiveMemory = false

Získávám profil Twitch z API

const run = async function Run() {
    await twitch.getStreams({ channel: "thomasbnt" }).then(async data => {
        const r = data.data[0]
        let ThisGuildOnly = client.guilds.cache.get("GuildID")
        const ChannelAnnounceLive = ThisGuildOnly.channels.cache.find(x => x.id === "ChannelAnnounceLiveID")

        if (r !== undefined) {
            if (r.type === "live") {
                if (IsLiveMemory === false || IsLiveMemory === undefined) {
                    IsLiveMemory = true
                } else if (IsLiveMemory === true) {
                } else {}
            } else {
                if (IsLiveMemory === true) {
                    IsLiveMemory = false
                } else {}
            }
        } else {
            if (IsLiveMemory === true) {
                IsLiveMemory = false
            } else {
            }
        }
    })
}
setInterval(
    run, 15000)

💪🏼 Pojďme vysvětlit logiku

Pokud je živý přenos online ("type": "live" ), zkontrolujte, zda je Memory false, abyste se vyhnuli duplikaci zpráv, pokud jsou tyto dvě podmínky pravdivé, odešlete zprávu na obecný kanál.

Pokud je živý přenos online a paměť je true , neposílejte zprávu, abyste předešli duplicitní zprávě.

Jsem hrdý na tento skript, dobré využití pro můj Discord server a můj živý přenos na Twitchi. Pošlu zprávu a změním ikonu serveru na fialovou barvu. 😄✨

✨ Tento skript můžete získat na mé stránce Kup mi kávu!

Dejte své komunitě vědět, že budete živě na Twitchi! K tomu je určen tento skript, který ve vybrané místnosti upozorní, když jdete živě a když to dokončíte. Změní také ikonu vašeho serveru na to, co chcete.

Zkontrolujte můj účet na Twitteru. Můžete vidět mnoho projektů a aktualizací. Můžete mě také podpořit na BuyMeaCoffee.