Aller au contenu
Invité

Mon API Skript-mc

Messages recommandés

Invité

Bonsoir a toutes et a tous :D

Aujourd'hui je vais présenter et expliquer mon API qui est disponible sur mon site ( mikioul.fr ), c'est un tuto que je devais faire depuis longtemps mais j'ai pas trop eu le temps, donc je le fait pour la V2 de mon site (mieux vaux tard que jamais :D)

 

ps: Le site n'est pas terminé du tout ! ( il est en Beta )

A) Mon API, a quoi elle sert ?

- Elle sert simplement a récupérer des informations sur des skripts disponibles sur Skript-mc dans les ressources, comme sa version, sa note, son nombre de téléchargements et pleins d'autres petites infos ..

- Elle donne aussi les listes des derniers skripts postés / mis a jour / et le top 10.

 

 

B) Qu'est ce que je peut en faire ?

 

- Une partie de l'API est faite spécialement a tout les développeurs de skripts ici présent, qui (tout comme moi avant) ont créer des skripts et ont du inclure un système de version pour leur mise a jour, vous avez surement fait un petit fichier github ou pastebin pour sauvegarder le nom de la version du skript pour pouvoir faire votre système ? Et bien avec mon API c'est terminé ! Vous avez juste besoin de vérifier si le retour que fait la requête est le même que celui sur votre skript ( c'est le nom de la version du skript sur skript-mc, voir tuto en bas)

 

- L'autre partie servira plus aux gens qui veulent faire des applications concrète avec les données retournées, par exemple un bot qui donnera des infos sur un skript précis, une page web avec les tops skripts, un skript avec des infos sur d'autres skripts et j'en passe :D

 

 

C) Liste des différentes requetes :

 

C'est une Beta de mon site actuellement ! je prévois de rajouter des requetes dans le futur ( et si vous avez des idées dites les moi dans les commentaires :D )

 

a) Version

b) Informations

c) 10 dernières mises a jour

d) 10 derniers skripts postés

e) skripts featured

f) 10 meilleurs skripts

g) 10 skripts les plus téléchargés

 

Dans le futur mon site proposera d'autres API différentes de Skript-mc !

 

D) Comment on utilise l'API ?

 

Sur le site, je donne des exemples pour différents langages de programmation, mais ici j'expliquerais uniquement en skript !

 

Pour les requêtes j'utilise l'addon Reqn, vous en aurez donc besoin !

 

a) Version

On va donc créer la requete (ici sur mon skript Cosmo)

command /version:
   trigger:
       send a request to "https://mikioul.fr/api/skript/version.php?sk=cosmo.1407"
       set {_resp} to the last http response
       set {_body} to {_resp}'s body
       broadcast "%{_body}%"

 

Le résultat de la requete est en json donc il faudra "découper" le résultat avec skript pour pouvoir s'en servir :

 

command /version:
  trigger:
    send a request to "https://mikioul.fr/api/skript/version.php?sk=cosmo.1407"
    set {_resp} to the last http response
    set {_body} to {_resp}'s body
    set {_a::*} to {_body} split at "version"":"""
    set {_b::*} to {_a::2} split at """"
    set {_result} to {_b::1}
    broadcast "%{_result}%"

 

Maintenant on obtient bien le nom de la version indiqué sur note poste Skript-mc, il reste plus que la vérification :

 

options:
 version: "0.5"

command /version:
  trigger:
    send a request to "https://mikioul.fr/api/skript/version.php?sk=cosmo.1407"
    set {_resp} to the last http response
    set {_body} to {_resp}'s body
    set {_a::*} to {_body} split at "version"":"""
    set {_b::*} to {_a::2} split at """"
    set {_result} to {_b::1}
    if {@version} is {_result}:
      broadcast "&2Le skript est a jour !"
    else:
      broadcast "&4Le skript n'est pas a jour ! &c(Nouvelle version = %{_result}%)"

Important ! Il faut bien mettre la version en chaine de caractère !

 

b) Informations

Pour cette partie (qui est plus compliqué) je vais moins détailler les étapes ! Nous allons partir sur l'exemple du skript de Polymeth "SkWedit".

 

command /informations:
  trigger:
    send a request to "https://mikioul.fr/api/skript/informations.php?sk=cosmo.1407"
    set {_resp} to the last http response
    set {_body} to {_resp}'s body
    set {_return::type-list::*} to "fullname", "name", "id", "link", "download_link", "review_link", "description", "category", "image", "version", "size", "date", "update", "rate", "download" and "reviews"

    loop {_return::type-list::*}:
      set {_type} to loop-value
      set {_a::*} to {_body} split at """%{_type}%"":"""
      set {_b::*} to {_a::2} split at ""","
      set {_result} to {_b::1}
      broadcast "&c%{_type}% &f-> &a%{_result}%"

Donc : Pour cet exemple, je crée une liste avec toutes les informations que je veut récupérer, ensuite je la loop et coupe le retour de ma requête en fonction de mon loop-value ( c'est un peu complexe a expliquer :D )

 

C'est une Beta, il peut y 'avoir quelques bugs, et tout n'est pas fini .

 

 

reste) pour les c, d, e, f et g c'est la même requête (il faudra juste changer le lien) :

 

command /last_update:
  trigger:
    send a request to "https://mikioul.fr/api/skript/last_update.php"
    set {_resp} to the last http response
    set {_body} to {_resp}'s body
    broadcast "%{_body}%"

 

 

Voilà le tuto est terminé pour l'instant ! J'espère que ça vous a plu et que mon API vous servira :D A bientot pour de nouvelles fonctionnalités :3

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Berk, "text from url". Pour rappel, ça bloque le serveur le temps que ça récupère tout.

Reqn est bien mieux pour ça

Ah dac je savais pas

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité

Je mettrais à jour vers cet addon quand j’aurais 5min :D

 

--- Message Fusionné ---

 

Voilà @McLincoln2 j'ai édit avec la nouvelle syntaxe. Merci @Syst3ms :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.