@ix-xs/twitch.api 1.0.3 → 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 +59 -15
- package/package.json +1 -1
- package/twitchapi.js +7 -7
package/README.md
CHANGED
|
@@ -1,32 +1,43 @@
|
|
|
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");
|
|
15
23
|
|
|
16
|
-
const client = new
|
|
24
|
+
const client = new twitchAPI({ clientId:"votre_id_client", clientSecret:"votre_secret_client" });
|
|
17
25
|
```
|
|
18
26
|
|
|
19
|
-
|
|
20
|
-
<h3>2. Initialisez le client :</h3>
|
|
27
|
+
2. Initialisez le client avec la méthode initialize() pour démarrer la gestion automatique des tokens :
|
|
21
28
|
|
|
22
29
|
```js
|
|
23
30
|
await client.initialize();
|
|
24
31
|
```
|
|
25
32
|
|
|
26
|
-
<
|
|
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.
|
|
27
38
|
|
|
28
39
|
<br>
|
|
29
|
-
<h3>
|
|
40
|
+
<h3>Liste des appels</h3>
|
|
30
41
|
<br>
|
|
31
42
|
|
|
32
43
|
Méthode | options | Description |
|
|
@@ -42,7 +53,7 @@ Méthode | options | Description |
|
|
|
42
53
|
| `getUsers()` | `usernames`:Array\<string\>; | 👀 **Renvoi les informations d'un ou plusieurs utilisateur(s)** |
|
|
43
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. |
|
|
44
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. |
|
|
45
|
-
| `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). |
|
|
46
57
|
| `getChatSettings()` | `username`:string; | 👀 **Renvoi les paramètres de discussion du diffuseur** |
|
|
47
58
|
| `getUsersChatColor()` | `usernames`:Array\<string>; | 👀 **Renvoi la couleur utilisée pour le nom de l'utilisateur dans le chat.** |
|
|
48
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). |
|
|
@@ -50,6 +61,39 @@ Méthode | options | Description |
|
|
|
50
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. |
|
|
51
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. |
|
|
52
63
|
___
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
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
package/twitchapi.js
CHANGED
|
@@ -11,18 +11,18 @@ module.exports = class {
|
|
|
11
11
|
*
|
|
12
12
|
* ---
|
|
13
13
|
* @param {{
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* client_id:string,
|
|
15
|
+
* client_secret:string,
|
|
16
16
|
* }} config - Vos identifiants client Twitch
|
|
17
17
|
*
|
|
18
18
|
* ---
|
|
19
19
|
* @example
|
|
20
|
-
* const client = new
|
|
20
|
+
* const client = new twitchAPI({ client_id:"votre_client_id", client_secret:"votre_client_secret" });
|
|
21
21
|
*/
|
|
22
22
|
constructor(config) {
|
|
23
23
|
|
|
24
|
-
this.clientId = config.
|
|
25
|
-
this.clientSecret = config.
|
|
24
|
+
this.clientId = config.client_id;
|
|
25
|
+
this.clientSecret = config.client_secret;
|
|
26
26
|
this.token = TwitchToken;
|
|
27
27
|
this.validateInterval = null;
|
|
28
28
|
|
|
@@ -311,7 +311,7 @@ module.exports = class {
|
|
|
311
311
|
* > • `tags` Les balises appliquées au flux.
|
|
312
312
|
* > • `viewer_count` Le nombre d'utilisateurs regardant le flux.
|
|
313
313
|
* > • `started_at` La date et l'heure UTC (au format RFC3339) du début de la diffusion.
|
|
314
|
-
* > • `langue` La langue utilisée par le flux. Il s'agit d'un code de langue à deux lettres ISO 639-1 ou autre si le flux utilise une langue qui ne figure pas dans la liste des [langues de flux prises en charge](https://help.twitch.tv/s/article/linguals-on-twitch
|
|
314
|
+
* > • `langue` La langue utilisée par le flux. Il s'agit d'un code de langue à deux lettres ISO 639-1 ou autre si le flux utilise une langue qui ne figure pas dans la liste des [langues de flux prises en charge](https://help.twitch.tv/s/article/linguals-on-twitch?langue=en_US#streamlang).
|
|
315
315
|
* > • `thumbnail_url` Une URL vers une image d'une image des 5 dernières minutes du flux. Remplacez les espaces réservés de largeur et de hauteur dans l'URL (**{width}x{height}**) par la taille de l'image souhaitée, en pixels.
|
|
316
316
|
* > • `tag_ids` **IMPORTANT** Depuis le 28 février 2023, ce champ est obsolète et renvoie uniquement un tableau vide.
|
|
317
317
|
* > • `is_mature` Une valeur booléenne qui indique si le flux est destiné à un public adulte.
|
|
@@ -321,7 +321,7 @@ module.exports = class {
|
|
|
321
321
|
* client.getStreams().then(console.log); // Obtient des informations sur les 20 flux les plus actifs.
|
|
322
322
|
*
|
|
323
323
|
* client.getStreams({
|
|
324
|
-
|
|
324
|
+
users_names:["twitchdev"]
|
|
325
325
|
}).then(console.log); // Obtient les flux pour les connexions spécifiées. Si l’utilisateur n’est pas en direct, la réponse ne l’inclut pas.
|
|
326
326
|
*/
|
|
327
327
|
async getStreams(params) {
|