@ix-xs/metamob.api 1.0.0

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 (4) hide show
  1. package/Data.json +7702 -0
  2. package/README.md +120 -0
  3. package/metamobapi.js +786 -0
  4. package/package.json +21 -0
package/README.md ADDED
@@ -0,0 +1,120 @@
1
+ <div align=center>
2
+ <span style="font-size:30px;">@ix-xs/metamob.api</span><br>
3
+ <br>
4
+ </div>
5
+
6
+ <img align=right src="https://metamob.fr/img/otomai.png">
7
+ <h1><img src="https://metamob.fr/img/logo.png">Metamob</h1>
8
+ <a href="https://metamob.fr/connexion">Connectez-vous</a> ou <a href="https://metamob.fr/inscription">Inscrivez-vous</a> pour profiter des avantages du site :
9
+ <ul>
10
+ <li>Suivez votre avancement dans la quête</li>
11
+ <li>Gérez finement vos monstres</li>
12
+ <li>Visualisez votre profil</li>
13
+ <li>Echangez avec d'autres joueurs</li>
14
+ <li>Une question ? Regardez <a href="https://metamob.fr/aide">l'aide</a></li>
15
+ </ul>
16
+ <br>
17
+ <br>
18
+ <h1>🌐API</h1>
19
+ Une clé API sert à interroger les données de Metamob pour pouvoir les utiliser ailleurs: dans une feuille Google Sheets, sur une application web, dans un bot Discord...
20
+ <br><br>
21
+ Vous trouverez plus d'informations dans <a href="https://metamob.fr/aide/api">la page d'aide</a>.
22
+ <br><br>
23
+ <span style="background-color: DarkRed;">Utiliser une clé API requiert des connaissances en développement. Si vous ne savez pas ce qu'est une API ni comment l'utiliser, ce n'est pas la peine de créer une clé.<br>
24
+ Les clés API sont automatiquement supprimées au bout de 90 jours sans utilisation.</span>
25
+ <br>
26
+ <br>
27
+ <h3> 🗝️Récupérer une clé </h3>
28
+ Pour créer votre clé, rendez-vous dans <a href="https://metamob.fr/utilisateur/mon_profil">votre espace</a> et cliquez sur l'onglet "API".
29
+ Vous devrez saisir un nom. Gardez à l'esprit que vous ne pouvez créer qu'une seule clé API pour l'instant.<br>
30
+ <b>Votre clé sera immédiatement utilisable.</b>
31
+ <br>
32
+ <h2>✨Installation</h2>
33
+
34
+ `npm install metamobapi`
35
+ <br>
36
+ <h2>👀Utilisation</h2>
37
+ <h3>1. Créez un nouveau client en fournissant votre clé API Metamob :</h3>
38
+
39
+ ```js
40
+ const MetamobAPI = require("@ix-xs/metamob.api");
41
+
42
+ const client = new MetamobAPI({ apiKey:"votre_clé_api" });
43
+ ```
44
+
45
+ <img src="https://user-images.githubusercontent.com/114710533/234149976-268042b8-9300-4fda-92f8-fa781541abad.png">
46
+
47
+ <br>
48
+ <h3>2. Liste des appels possibles</h3>
49
+ <br>
50
+
51
+ Méthode | options | Description |
52
+ | --- | --- | --- |
53
+ | `getUser()` | `username`:string; | Récupère les informations d'un utilisateur. Non sensible à la casse. |
54
+ | `getUserMonsters()` | `username`:string;<br>{<br>`type?`:string;<br>`monstre?`:string;<br>`etape?`:string;<br>`quantite?`:string;<br>`etat?`:string;<br>} | Récupère les monstres d'un utilisateur. Le nom d'utilisateur n'est pas sensible à la casse. |
55
+ | `getMonsters()` | {<br>`monstre?`:string;<br>`etape?`:string;<br>`type?`:string;<br>} | Récupère les monstres. |
56
+ | `getServers()` | `server?`:string; | Récupère les serveurs. |
57
+ | `getKralamoures()` | {<br>`serveur?`:string;<br>`date_debut?`:string;<br>`date_fin?`:string;<br>} | Récupère les kralamoures. |
58
+ | `getZones()` | `zone?`:string; | Récupère les zones. |
59
+ | `getSouszones()` | `souszone?`:string; | Récupère les sous-zones. |
60
+ | `putUserMonsters()` | `username`:string<br>`uniqueId`:string<br>`body`:Array<{<br>`monstre`:string;<br>`quantite?`:string;<br>`etat?`:string;<br>}> | Met à jour les informations de monstre d'un compte utilisateur.<br>Le champ quantite indique l'opération à effectuer sur la quantité:<br>• Si la quantité renseigner commence par "===", la quantité du monstre sera forcée à cette valeur.<br>• Si la quantité renseigner commence par "+", la quantité du monstre sera incrémenter de cette valeur<br>• Si la quantité renseigner commence par "-", la quantité du monstre sera décrémenter de cette valeur |
61
+ | `resetUserMonsters()` | `username`:string;<br>`uniqueId`:string; | Réinitialise les monstres sur le compte. Cela signifie que toutes les informations relatives aux monstres seront supprimées !<br>Les monstres seront mis à l'état aucun (ni recherché ni proposé), avec une quantité nulle (0). |
62
+
63
+ <br>
64
+ <h3>3. Exemples</h3>
65
+ <br>
66
+
67
+
68
+ ```js
69
+ const MetamobAPI = require("@ix-xs/metamob.api");
70
+
71
+ const client = new MetamobAPI({ apiKey:"votre_clé_api" });
72
+
73
+ // Renvoie les informations de l'utilisateur
74
+ client.getUser("popop").then(console.log);
75
+
76
+ // Renvoie les monstres "proposés" dont l'utilisateur possède en + de 1 exemplaire
77
+ client.getUserMonsters("popop", { etat:"propose", quantite:">1" }).then(console.log);
78
+ // Renvoie les monstres de l'utilisateur à l'étape 20
79
+ client.getUserMonsters("popop", { etape:"20" }).then(console.log);
80
+
81
+ // Renvoie la liste de tous les monstres
82
+ client.getMonsters().then(console.log);
83
+ // Renvoie la liste de tous les archimonstres
84
+ client.getMonsters({ type:"archimonstre" }).then(console.log);
85
+
86
+ // Renvoie la liste de tous les serveurs
87
+ client.getServers().then(console.log);
88
+ // Renvoie les informations sur le serveur "Tylezia"
89
+ client.getServers("Tylezia").then(console.log);
90
+
91
+ // Renvoie la liste des ouvertures prévues entre la date du jour et 1 mois plus tard
92
+ client.getKralamoures().then(console.log);
93
+ // Renvoie la liste des ouvertures prévues entre la date du jour et le 01 juin 2024 sur le serveur Tylezia
94
+ client.getKralamoures({ serveur:"Tylezia", date_fin:"2023-06-01" }).then(console.log);
95
+
96
+ // Renvoie la liste de toutes les zones
97
+ client.getZones().then(console.log);
98
+ // Renvoie les informations sur la zone Amakna
99
+ client.getZones("Amakna").then(console.log);
100
+
101
+ // Renvoie la liste de toutes les sous-zones.
102
+ client.getSouszones().then(console.log);
103
+ // Renvoie les informations sur la sous-zones Aerdala
104
+ client.getSouszones("Aerdala").then(console.log);
105
+
106
+ // La quantité du monstre Arakne sera incrémenter de 5 et passera à l'état proposé
107
+ // La quantité du monstre Larchimaide la Poussée passera à 3
108
+ // La quantité du monstre Bouftou Royal sera décrémenter de 2
109
+ client.putUserMonsters("nom_utilisateur", "id_unique_utilisateur", [
110
+ { monstre:"Arakne", quantite:"+5", etat:"propose" },
111
+ { monstre:"Larchimaide la Poussée", quantite:"===3" },
112
+ { monstre:"Bouftou Royal", quantite:"-2" },
113
+ ]).then(console.log);
114
+
115
+ // Tous les monstres de l'utilisateur seront réinitialiser (quantite à 0 et aucun état)
116
+ client.resestUserMonsters("pseudo_utilisateur", "id_unique_utilisateur").then(console.log);
117
+ ```
118
+ <br>
119
+ <br>
120
+ Contactez moi sur Discord si vous rencontrez des difficultés : ix_xs