@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.
Files changed (3) hide show
  1. package/README.md +59 -15
  2. package/package.json +1 -1
  3. package/twitchapi.js +7 -7
package/README.md CHANGED
@@ -1,32 +1,43 @@
1
1
  <div align=center>
2
- <span style="font-size:30px;">@ix-xs/twitch.api</span><br>
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
- <h3>1. Créez un nouveau client en fournissant votre ID et secret client :</h3>
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 TwtichAPI = require("@ix-xs/twitch.api");
22
+ const twitchAPI = require("@ix-xs/twitch.api");
15
23
 
16
- const client = new MetamobAPI({ clientId:"votre_id_client", clientSecret:"votre_secret_client" });
24
+ const client = new twitchAPI({ clientId:"votre_id_client", clientSecret:"votre_secret_client" });
17
25
  ```
18
26
 
19
- <br>
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
- <p>Pour démarrer correctement le client, il est nécessaire d'appeler la fonction <code>initialize()</code>. Cette dernière permet de mettre en place un système de validation periodique 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.<br><br>Pour éviter ce problème, il est recommandé de faire tourner l'application en arrière-plan (via un service comme PM2, screen, ou tout autre gestionnaire de processus) afin de s'assurer que la validation continue de fonctionner sans interrompre votre environnement de travail.</p>
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>3. Liste des appels possibles</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. tv/s/article/custom-bit-badges-guide?langue=en_US). |
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
- <br>
54
- <br>
55
- Contactez moi sur Discord si vous rencontrez des difficultés : ix_xs
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@ix-xs/twitch.api",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Twitch API JS",
5
5
  "main": "twitchapi.js",
6
6
  "scripts": {
package/twitchapi.js CHANGED
@@ -11,18 +11,18 @@ module.exports = class {
11
11
  *
12
12
  * ---
13
13
  * @param {{
14
- * clientId:string,
15
- * clientSecret:string,
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 TwitchAPI({ clientId:"votre_client_id", clientSecret:"votre_client_secret" });
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.clientId;
25
- this.clientSecret = config.clientSecret;
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 ?langue=en_US#streamlang).
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
- users_logins:["twitchdev"]
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) {