Socket
Socket
Sign inDemoInstall

funcraft-api

Package Overview
Dependencies
49
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    funcraft-api

Une API pour récupérer les statistiques de FunCraft.net !


Version published
Maintainers
1
Created

Readme

Source

API Funcraft

Une API pour récupérer les statistiques de FunCraft.net !

Sommaire

Utilisation :

Autre informations :

Utilisation

L'API est documenté avec JSDoc. Elle est également compatible avec TypeScript.

Initialisation :

Installez le paquet avec NPM : npm install funcraft-api ou Yarn : yarn add funcraft-api.

const FuncraftApi = require('funcraft-api');

FuncraftApi.stats(period, game, username): Promise<StatsResponse>

Renvoie une promesse contenant les statistiques d'un mode de jeu et d'une période spécifique.

FuncraftApi.stats('toujours', 'shootcraft', 'jujoh').then(console.log).catch(console.error);
{
  code: 0,
  error: null,
  userId: '177',
  username: 'jujoh',
  month: 0,
  monthName: 'always',
  game: 'shootcraft',
  rank: 22,
  data: {
    points: 229557,
    gameCount: 5029,
    winCount: 4901,
    defeatCount: 128,
    gameTime: 15467,
    kills: 234252,
    deathCount: 30149
  },
  stats: {
    winrate: 97.455,
    kd: 7.77,
    ragequit: 38.489,
    killsPerGame: 46.58,
    deathsPerGame: 5.995,
    pointsPerGame: 45.647,
    killsPerMinute: 15.145,
    secondsPerKill: 3.962
  },
  skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/jujoh/m2/f3cc7aa5869ddab02eafcfa37cc667209d34f3ca'
}

FuncraftApi.allStats(username): Promise<object>

Renvoie une promesse contenant les statistiques de tous les modes de jeux dans toutes les périodes disponibles.

FuncraftApi.allStats('jujoh').then(console.log).catch(console.error);
{
  code: 0,
  error: null,
  infos: {
    username: 'jujoh',
    skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/jujoh/m2/f3cc7aa5869ddab02eafcfa37cc667209d34f3ca',
    userId: '177'
  },
  rush_retro: {
    always: null,
    march: null,
    february: null,
    january: null,
    december: null
  },
  rush_mdt: {
    always: {
      code: 0,
      error: null,
      username: 'jujoh',
      month: 0,
      monthName: 'always',
      game: 'rush_mdt',
      rank: 19605,
      data: [Object],
      stats: [Object],
      skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/jujoh/m2/f3cc7aa5869ddab02eafcfa37cc667209d34f3ca',
      userId: '177'
    },
    march: null,
    february: null,
    january: null,
    december: null
  },
  ...
}

FuncraftApi.infos(username, fetchFriends? = true): Promise<InfosResponse>

Renvoie une promesse contenant les informations d'un joueur. fetchFriends est un booléen spéicifiant si une autre requête pour récupérer les amis doit être faite.

La valeur de ban peut être : NONE, TEMP ou DEF.

FuncraftApi.infos('jujoh').then(console.log);
{
  code: 0,
  error: null,
  grade: 'Shootcraft',
  username: 'jujoh',
  userId: '177',
  skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/jujoh/m2/f3cc7aa5869ddab02eafcfa37cc667209d34f3ca',
  inscription: Date('2016-01-14T17:28:00.000Z'),
  lastConnection: Date('2021-03-29T21:06:00.000Z'),
  gloires: 1178354,
  gameCount: 14072,
  points: 596411,
  winCount: 12765,
  defeatCount: 1307,
  gameTime: 52529,
  kills: 276657,
  deathCount: 46711,
  ban: 'NONE',
  friends: [
    {
      nom: 'AcyD_',
      skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/AcyD_/s/fa4652a59a640d3bde1aca803f6a27ed81107f94'
    },
    ...
  ]
}

FuncraftApi.friends(userId): Promise<object>

Renvoie une promesse contenant la liste des amis d'un joueur.

FuncraftApi.friends('177').then(console.log);
{
  code: 0,
  error: null,
  friends: [
    {
      nom: 'AcyD_',
      skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/AcyD_/s/fa4652a59a640d3bde1aca803f6a27ed81107f94'
    },
    ...
  ]
}

FuncraftApi.head(username): Promise<string>

Renvoie une promesse contenant l'URL du skin de la tête d'un joueur.

FuncraftApi.head('jujoh').then(console.log);
'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/jujoh/m2/f3cc7aa5869ddab02eafcfa37cc667209d34f3ca'

FuncraftApi.table(period, game): Promise<StatsResponse[]>

Renvoie une promesse contenant les stats du top 100 d'un jeu. Les skins ne sont disponible que pour les 3 premiers joueurs.

FuncraftApi.table('always', 'shootcraft').then(console.log);
[
  {
    code: 0,
    error: null,
    userId: '393176',
    username: 'CptnKILL',
    month: 0,
    monthName: 'always',
    game: 'shootcraft',
    rank: 1,
    data: {
      points: 1402275,
      gameCount: 13440,
      winCount: 9462,
      defeatCount: 3978,
      gameTime: 50883,
      kills: 640543,
      deathCount: 207115
    },
    stats: {
      winrate: 70.402,
      kd: 3.093,
      ragequit: 24.281,
      killsPerGame: 47.659,
      deathsPerGame: 15.41,
      pointsPerGame: 104.336,
      killsPerMinute: 12.589,
      secondsPerKill: 4.766
    },
    skin: 'https://d31zb6ev5hmn3f.cloudfront.net/_u/avatar/head/CptnKILL/s/cc9d545b3ccc7b9789cb902aed70e8bfe276317b'
  },
  ...
]

Autres informations

Codes d'erreur

Lorsqu'une requête échoue, la promesse retourn une erreur sous la forme d'un objet de la forme suivante :

{ code: 1, error: 'Specified game is incorrect.' }

Voici les différents codes d'erreur :

CodeDescription
0Aucune erreur
1Jeu incorrect
2Période incorrecte
3Joueur inconnu
4Aucune données pour cette période
5Erreur de connexion avec funcraft.net

Périodes

Pour les statistiques global, vous pouvez utiliser :

  • toujours
  • always
  • 0

Pour les statistiques mensuels :

  • le nom du mois en français (janvier, février, fevrier, etc.)
  • le nom du mois en anglais (january, february, etc.)
  • le chiffre le représentant (1 = janvier, 2 = février, etc.)

Pour les tableaux du top 100, vous devez spécifier soit always, soit la période sous la forme YYYY-MM.

Note : vous ne pouvez pas récupérer via la méthode stats les statistiques datant de plus de 3 mois. Note 2 : les accents ne sont pas pris en compte.

Jeux

Les noms et alias des jeux sont :

Nomsrush_retrorush_mdthikabrainskywarsoctogoneshootcraftinfectedsurvivalblitzpvpsmashlandrush
Aliasrushhikaskymmashootinfectepvpland

Note : les accents ne sont pas pris en compte.

Outils

Vous pouvez récupérer les liste des noms et alias des jeux dans FuncraftApi.utils.data.

Les fonction FuncraftApi.utils.vGetPeriod et FuncraftApi.utils.vGetGame servent à déterminer si une période ou un mode de jeu est valide.

Se référer à la JSDoc ou voir le code source pour plus de détails.

Licence

Licence MIT

Copyright (c) 2021 gauthier-th

FAQs

Last updated on 14 Mar 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc