• IP Copiato!
    Premi per Copiare L'IP
    Caricamento in corso...
  • Entra nel nostro discord
    Caricamento in corso...
  • Non esisteva un bot Discord per visualizzare le statistiche dei giocatori, quindi ho creato il mio

    na4r

    Nuovo Membro
    +1 | Idea ottima, complimenti e grazie per il tuo duro lavoro.

    (Ho appena testato il bot e sembra tutto funzionante, bel lavoro caro)
     
    Ultima modifica:

    8hi

    Nuovo Membro
    +1, ho creato un'account nel forum solo per commentare qui. Grande!
    Comunque come hai detto un'API, o anche un modo per cercare i giocatori dal sito (per consentire il web scraping) sarebbe molto utile.
    Gestire un API pubblica sarebbe pesantuccio, ma sarei più che disposto di dare accesso alla mia API a persone che me lo chiedono. Nel caso i miei DM su Discord sono aperti :) (@gigantino)
     

    SonoNico

    Membro Attivo
    Ho fatto degli aggiornamenti, premi qui per vederli

    Aggiungi il bot al tuo server

    Recentemente mi sono reso conto che non esisteva un bot di Discord per visualizzare le statistiche degli utenti di CoralMC. Per questo ho deciso di creare il mio e di renderlo pubblico.

    Il problema che ho avuto inizialmente (e anche il motivo per il quale ho deciso di pubblicare il bot nella sezione "Suggerimenti"), e che non esiste un'API ufficiale di Coral. Nel caso in cui non ne foste al corrente, un'API è un modo per far interagire due programmi o sistemi informatici in modo che possano scambiare dati e funzionalità.

    In mancanza di un'API ho dovuto trovare un modo per arrangiarmi. Visto che il comando /stats in gioco ritorna le statistiche di un giocatore, ho semplicemente fatto entrare un bot (non e' sempre il caso, ma lo trovare nella lobby delle bedwars poco dietro lo spawn che va avanti e indietro) nel server che, rispettando il limite di 3 secondi imposto dal server, controlla le statistiche degli utenti su richiesta. Ho quindi costruito una mia API non-ufficiale che mi ritorna qualcosa di simile a questo:
    JavaScript:
    interface PlayerStats {
      level: number,
      experience: number,
      coins: number,
      kills: number,
      deaths: number,
      finalKills: number,
      finalDeaths: number,
      bedsDestroyed: number,
      wins: number,
      losses: number,
      currentWinstreak: number,
      highestWinstreak: number,
    }
    Come potete ben vedere, contiene anche statistiche che non sono presenti nel comando /stats. Per farlo ho semplicemente fatto l'operazione inversa di alcuni campi e li ho formattati in maniera carina. L'API non ritorna campi come KD Ratio, FKD Ratio e WL Ratio perche' sarebbe ridondante considerando che puo' essere facilmente calcolato utilizzando gli altri valori.

    Per finire, ho anche implementanto una piccola cache, quindi utenti che sono stati richiesti di recente (<30 min) non vengono aggiornati. Ho fatto questo per non spammare il server di richieste inutili.

    Per finire, ho semplicemente creato un bot di Discord che fa richieste alla mia API e ritorna le seguenti statistiche:
    Il bot non richiede permessi particolari, e potete invitarlo al vostro server premendo qui.

    Ho piani di aggiungere nuove funzioni, ma il mio sistema sfortunatamente impone dei limiti che sono surmontabili, tra cui:
    - Visualizzare le skin degli utenti SP
    - Visualizzare gli amici di un certo utente
    - Visualizzare lo stato di un utente (online/offline)

    Spero che in futuro venga implementata un'API ufficiale, ma se per ora volete tenere traccia delle vostre statistiche da Discord e senza aver bisogno di entrare nel server fate pure! Nel caso in cui doveste trovare un bug potete contattarmi in privato su Discord (@gigantino)
    Io ho provato il bot ma non andava. Di consigli di migliorarlo. Però sei veramente bravo, bell' idea!
    +1