🔧 Tech utilisé
Pour ce petit projet, j'ai utilisé l'API Twitch avec la bibliothèque node-twitch sur npm.
J'envoie le message d'alerte sur Discord avec un texte riche (aka embed), voici le message :
⚙️ Comment ça marche ?
Dans un premier temps, dans mon fichier principal nommé app.js
, j'aurai besoin de l'essentiel.
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
})
Pour AppClientID et AppSecretToken, allez dans la Twitch Dev Console. Créez une nouvelle application et attrapez tout.
Pour la deuxième partie, c'est le système principal.
Lorsque X démarre un stream, le script vérifie si le message a déjà été envoyé ou non avec une variable mémoire. Je l'ai nommée IsLiveMemory
.
L'état par défaut :
let IsLiveMemory = false
Je récupère le profil Twitch depuis l'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 {
if (IsLiveMemory === true) {
IsLiveMemory = false
}
}
} else {
if (IsLiveMemory === true) {
IsLiveMemory = false
}
}
})
}
setInterval(run, 15000)
Je détermine le serveur Discord pour éviter de modifier un autre si je voudrais changer l'image du serveur. Et puis c'est plus simple par la suite (ligne suivante) à chercher l'identifiant du salon textuel auquel on voudrait envoyer le message d'alerte.
💪🏼 La logique dans tout ça
Si le flux en direct est en ligne ("type" : "live"
), vérifiez si la Mémoire est fausse pour éviter de dupliquer les messages, si ces deux conditions sont vraies, alors envoyez le message au salon général (ou autre bien entendu).
Si le flux en direct est en ligne et que la Mémoire est vraie
, n'envoyez pas le message pour éviter un message en double.
✨ Vous pouvez obtenir ce script !
Je suis content de ce script, une bonne utilisation pour mon serveur Discord et pour mes livestreams sur Twitch.
Dès que je passe en live, ça envoie automatiquement un message et change l'icône de mon serveur en couleur violette. 😄✨

Obtenez le script pour les alertes Twitch sur Discord
Faites savoir à votre communauté que vous êtes en direct sur Twitch ! Il est conçu pour une utilisation très simple.
Il alerte dans un salon textuel choisi quand vous allez en direct et quand vous le terminez. Il change également l'icône de votre serveur en ce que vous voulez.
Bien-sûr ça reste du code, donc si l'un de ces choix ne vous plait pas, tout est modifiable !
Cet article a été initialement posté sur mon profil DEV. Si vous voulez le lire en anglais, faites-y un tour !
Publié le 5 octobre 2021