@ix-xs/twitch.api 1.0.1 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -13
- package/package.json +20 -20
- package/twitchapi.js +1207 -1147
package/README.md
CHANGED
|
@@ -1,35 +1,59 @@
|
|
|
1
1
|
<div align=center>
|
|
2
|
-
<span
|
|
3
|
-
<br>
|
|
2
|
+
<span><b><code>@ix-xs/twitch.api</code></b></span><br><br>
|
|
4
3
|
</div>
|
|
5
4
|
|
|
5
|
+
<b>@ix-xs/twitch.api</b> est une bibliothèque JavaScript simplifiant les interactions avec l'API de Twitch. Conçue pour automatiser la gestion des tokens d'authentification, elle permet aux développeurs d'accéder facilement aux données de Twitch sans se soucier des tâches fastidieuses liées à la validation ou au renouvellement des tokens.
|
|
6
|
+
|
|
7
|
+
<h2>✨ Fonctionnalités principales</h2>
|
|
8
|
+
<ul>
|
|
9
|
+
<li><b>Gestion automatique des tokens</b> : Génération, validation et renouvellement des tokens se font en arrière-plan.</li>
|
|
10
|
+
<li><b>Intégration fluide</b> : Initialisez simplement le client avec votre clientId et clientSecret, et laissez la bibliothèque gérer le reste.</li>
|
|
11
|
+
<li><b>API complète</b> : Accédez à des fonctionnalités essentielles de l'API Twitch comme les streams, utilisateurs, clips, émotes et bien plus encore.</li>
|
|
12
|
+
</ul>
|
|
13
|
+
|
|
6
14
|
<h2>✨Installation</h2>
|
|
15
|
+
<code>npm install @ix-xs/twitch.api</code>
|
|
7
16
|
|
|
8
|
-
`npm install @ix-xs/twitch.api`
|
|
9
|
-
<br>
|
|
10
17
|
<h2>👀Utilisation</h2>
|
|
11
|
-
<
|
|
18
|
+
<ul>
|
|
19
|
+
1. Créez un nouveau client en fournissant votre <code>client_id</code> et <code>client_secret</code> :
|
|
12
20
|
|
|
13
21
|
```js
|
|
14
|
-
const
|
|
22
|
+
const twitchAPI = require("@ix-xs/twitch.api");
|
|
23
|
+
|
|
24
|
+
const client = new twitchAPI({ clientId:"votre_id_client", clientSecret:"votre_secret_client" });
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
2. Initialisez le client avec la méthode initialize() pour démarrer la gestion automatique des tokens :
|
|
15
28
|
|
|
16
|
-
|
|
29
|
+
```js
|
|
30
|
+
await client.initialize();
|
|
17
31
|
```
|
|
18
32
|
|
|
33
|
+
<b>Note</b> : Cette fonction permet de mettre en place un système de validation périodique du token, effectué automatiquement une fois par heure. En raison de cette vérification régulière, l'utilisation de la console de développement devient indisponible pendant le processus. Pensez à utiliser un gestionnaire de processus comme PM2.
|
|
34
|
+
</ul>
|
|
35
|
+
|
|
36
|
+
<h2>📚 Documentation détaillée</h2>
|
|
37
|
+
Consultez la documentation ci-dessous pour en savoir plus sur les méthodes disponibles et leur utilisation, ou contactez-moi sur Discord (ix_xs) si vous avez des questions ou des difficultés.
|
|
38
|
+
|
|
19
39
|
<br>
|
|
20
|
-
<h3>
|
|
40
|
+
<h3>Liste des appels</h3>
|
|
21
41
|
<br>
|
|
22
42
|
|
|
23
43
|
Méthode | options | Description |
|
|
24
44
|
| --- | --- | --- |
|
|
45
|
+
| `initialize()` | | 👀 **Démarre le client**<br>💡 **Note** : Cette fonction est requise afin de démarrer la surveillance du token qui doit maintenant être valider toutes les heures |
|
|
25
46
|
| `generateToken()` | | 👀 **Génère un nouveau token**<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion|
|
|
26
|
-
| `isExpiredToken()` | | 👀 **Renvoi la validité du token actuel** (true ou false) |
|
|
47
|
+
| `isExpiredToken()` | | 👀 **Renvoi la validité du token actuel** (true ou false)<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion |
|
|
27
48
|
| `refreshToken()` | | 👀 **Génère un nouveau token**<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion |
|
|
49
|
+
| `validateToken()` | | 👀 **Valide le token**<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion |
|
|
50
|
+
| `updateTokenFile()` | | 👀 **Met à jour le token**<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion |
|
|
51
|
+
| `startPeriodicValidation()` | | 👀 **Démarre la surveillance pour la validation periodique du token (toutes les heures)**<br>💡 **Note** : Le token se gère de façon automatique, cette fonction sert uniquement a son auto-gestion |
|
|
28
52
|
| `getStreams()` | {<br>`users_names?`:Array\<string\>;<br>`games_names?`:Array\<string\>;<br>`type?`:"all"\|"live";<br>`languages?`:Array\<string\>;<br>`first?`:number;<br>`before?`:string;<br>`after?`:string;<br>} | 👀 **Renvoi une liste des streams**<br>💡 **Note** : La liste est classée par ordre décroissant du nombre de téléspectateurs regardant le flux. Étant donné que les spectateurs vont et viennent pendant un flux, il est possible de trouver des flux en double ou manquants dans la liste au fur et à mesure que vous parcourez les résultats. |
|
|
29
53
|
| `getUsers()` | `usernames`:Array\<string\>; | 👀 **Renvoi les informations d'un ou plusieurs utilisateur(s)** |
|
|
30
54
|
| `getCheermotes()` | | 👀 **Renvoi une liste de Cheermotes que les utilisateurs peuvent utiliser pour encourager Bits dans la salle de discussion de n'importe quelle chaîne compatible Bits.**<br>💡 **Note** : Les cheermotes sont des émoticônes animées auxquelles les spectateurs peuvent attribuer des Bits. |
|
|
31
55
|
| `getChatEmotes()` | `username?`:string; | 👀 **Obtient la liste des [émotes globales](https://www.twitch.tv/creatorcamp/fr-fr/paths/getting-started-on-twitch/emotes/) ou la liste des émotes personnalisées du diffuseur.**<br>💡 **Note** : Les émotes globales sont des émoticônes créées par Twitch que les utilisateurs peuvent utiliser dans n'importe quel chat Twitch. Les diffuseurs créent ces émotes personnalisées pour les utilisateurs qui s'abonnent ou suivent la chaîne ou encouragent Bits dans la fenêtre de discussion de la chaîne. [En savoir plus](https://dev.twitch.tv/docs/irc/emotes/).<br>💡 **Note** : À l'exception des émoticônes personnalisées, les utilisateurs peuvent utiliser des émoticônes personnalisées dans n'importe quel chat Twitch. |
|
|
32
|
-
| `getChatBadges()` | `username?`:string; | 👀 **Obtient la liste des badges de discussion de Twitch, que les utilisateurs peuvent utiliser dans la salle de discussion de n'importe quelle chaîne, ou la liste des badges de discussion personnalisés du diffuseur.**<br>💡 **Note** : Pour plus d'informations sur les badges de chat, consultez le [Guide des badges de chat Twitch](https://help.twitch.tv/s/article/twitch-chat-badges-guide?langue=en_US).<br>💡 **Note** : La liste est vide si le diffuseur n'a pas créé de badges de discussion personnalisés. Pour plus d'informations sur les badges personnalisés, consultez [badges d'abonné](https://help.twitch.tv/s/article/subscriber-badge-guide?langue=en_US) et [badges Bits](https://help.twitch.
|
|
56
|
+
| `getChatBadges()` | `username?`:string; | 👀 **Obtient la liste des badges de discussion de Twitch, que les utilisateurs peuvent utiliser dans la salle de discussion de n'importe quelle chaîne, ou la liste des badges de discussion personnalisés du diffuseur.**<br>💡 **Note** : Pour plus d'informations sur les badges de chat, consultez le [Guide des badges de chat Twitch](https://help.twitch.tv/s/article/twitch-chat-badges-guide?langue=en_US).<br>💡 **Note** : La liste est vide si le diffuseur n'a pas créé de badges de discussion personnalisés. Pour plus d'informations sur les badges personnalisés, consultez [badges d'abonné](https://help.twitch.tv/s/article/subscriber-badge-guide?langue=en_US) et [badges Bits](https://help.twitch.tv/s/article/custom-bit-badges-guide?langue=en_US). |
|
|
33
57
|
| `getChatSettings()` | `username`:string; | 👀 **Renvoi les paramètres de discussion du diffuseur** |
|
|
34
58
|
| `getUsersChatColor()` | `usernames`:Array\<string>; | 👀 **Renvoi la couleur utilisée pour le nom de l'utilisateur dans le chat.** |
|
|
35
59
|
| `getClips()` | `username`:string; | 👀 **Obtient un ou plusieurs clips vidéo capturés à partir de flux**<br>💡 **Note** : Pour plus d'informations sur les clips, consultez [Comment utiliser les clips](https://help.twitch.tv/s/article/how-to-use-clips?langage=en_US). |
|
|
@@ -37,6 +61,39 @@ Méthode | options | Description |
|
|
|
37
61
|
| `getGames()` | `gameNames`:Array\<string\>; | 👀 **Renvoi des informations sur les catégories ou les jeux spécifiés.**<br>💡 **Note** : Vous pouvez obtenir jusqu'à 100 catégories ou jeux en spécifiant leur identifiant ou leur nom. Vous pouvez spécifier tous les identifiants, tous les noms ou une combinaison d'identifiants et de noms. Si vous spécifiez une combinaison d'ID et de noms, le nombre total d'ID et de noms ne doit pas dépasser 100. |
|
|
38
62
|
| `getVideos()` | `username`:string; | 👀 **Obtient des informations sur une ou plusieurs vidéos publiées. Vous pouvez obtenir des vidéos par identifiant, par utilisateur ou par jeu/catégorie.**<br>💡 **Note** : Vous pouvez appliquer plusieurs filtres pour obtenir un sous-ensemble de vidéos. Les filtres sont appliqués sous forme d’opération ET à chaque vidéo. Par exemple, si la langue est définie sur « de » et que game_id est défini sur 21779, la réponse inclut uniquement les vidéos montrant des utilisateurs jouant à League of Legends en allemand. Les filtres s'appliquent uniquement si vous obtenez des vidéos par ID utilisateur ou ID de jeu. |
|
|
39
63
|
___
|
|
40
|
-
|
|
41
|
-
<
|
|
42
|
-
|
|
64
|
+
|
|
65
|
+
<h2>💡 Exemples</h2>
|
|
66
|
+
|
|
67
|
+
```js
|
|
68
|
+
const twitchAPI = require("@ix-xs/twitch.api");
|
|
69
|
+
const client = new twitchAPI({ client_id:"votre_client_id", client_secret:"votre_client_secret" });
|
|
70
|
+
|
|
71
|
+
client.getStreams().then(console.log); // Renvoi les 20 flux les plus actifs
|
|
72
|
+
|
|
73
|
+
client.getStreams({
|
|
74
|
+
users_names:["twitchdev"],
|
|
75
|
+
}); // Renvoi les flux pour les connexions spécifiées. Si l’utilisateur n’est pas en direct, la réponse ne l’inclut pas.
|
|
76
|
+
|
|
77
|
+
client.getUsers(["twitchdev"]).then(console.log); // Renvoi les informations sur l'utilisateur
|
|
78
|
+
|
|
79
|
+
client.getCheermotes(); // Renvoi une liste des cheermotes
|
|
80
|
+
|
|
81
|
+
client.getChatEmotes().then(console.log); // Renvoi toutes les émoticônes globales
|
|
82
|
+
|
|
83
|
+
client.getChatEmotes("twitchdev").then(console.log); // Renvoi les émoticônes personnalisées créées par la chaîne utilisateur
|
|
84
|
+
|
|
85
|
+
client.getChatBadges().then(console.log); // Renvoi la liste des badges de discussion globaux
|
|
86
|
+
client.getChatBadges("twitchdev").then(console.log); // Renvoi la liste des badges de discussion personnalisés créés par la chaîne utilisateur
|
|
87
|
+
|
|
88
|
+
client.getChatSettings("twitchdev").then(console.log); // Renvoi les paramètre de discussion du diffuseur
|
|
89
|
+
|
|
90
|
+
client.getUsersChatColor(["twitchdev"]).then(console.log); // Renvoi la couleur utilisée pour le nom de l'utilisateur dans le chat
|
|
91
|
+
|
|
92
|
+
client.getClips("twitchdev").then(console.log) // Renvoi les clips de l'utilisateur
|
|
93
|
+
|
|
94
|
+
client.getTopGames().then(console.log); // Renvoi des informations sur toutes les diffusions sur Twitch
|
|
95
|
+
|
|
96
|
+
client.getGames(["Fortnite"]).then(console.log); // Renvoi des informations sur les catégories ou les jeux spécifiés
|
|
97
|
+
|
|
98
|
+
client.getVideos("twitchdev").then(console.log); // Renvoi des informations sur une ou plusieurs vidéos publiées.
|
|
99
|
+
```
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@ix-xs/twitch.api",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "Twitch API JS",
|
|
5
|
+
"main": "twitchapi.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "github.com/ix-xs/twitch.api"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"Twitch",
|
|
15
|
+
"API",
|
|
16
|
+
"JS"
|
|
17
|
+
],
|
|
18
|
+
"author": "ix-xs",
|
|
19
|
+
"license": "ISC"
|
|
20
|
+
}
|