You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.
You should upgrade or use an alternative browser.
Non esisteva un bot Discord per visualizzare le statistiche dei giocatori, quindi ho creato il mio
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+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.
Volpe_Furba_YT
Membro Attivo
1+
Game Pietro
Membro
+1
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:
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.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, }
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
+1
Rusinx
Nuovo Membro
Ho aggiunto il bot però per ogni comando che faccio mi dice sempre l'applicazione non ha rispostoGrazie mille, sfortunatamente non sembrano esserci sezioni apposta e questa sembrava quella più appropriata
L'API è scritta in TypeScript e usa il modulo mineflayer. Ho considerato di mettere il codice aperto, ma considerando che il tutto mi ha preso 3/4 ore devo dire di non essere particolarmente fiero del codice.
L'API per ora ha dei piccoli problemi, perché mi sono reso conto che, per qualche strano motivo, esattamente alle 4 di notte OGNI NOTTE Coral riavvia i proxy e va offline.
Inoltre il tutto è hostato su un raspberry che ho ormai da 9 anni, che sicuramente non offre performance altissime.
Comunque nel caso in cui dovesse esserci interesse stavo pensando di (sempre seguendo i limiti imposti da Coral) prendere le statistiche di tutti gli utenti una volta al giorno e creare dei grafici che tracciano l'andamento delle statistiche. Non lo trovo particolarmente difficile e credo che la comunità potrebbe apprezzare
Comunque ribadisco, sarebbe 1000 volte più comodo avere un'API ufficiale che è anche il motivo del post. La mia API è estremamente spartana e dato che il tutto passa attraverso il mio piccolo raspberry da 1gb di RAM attaccato in un angolino del mio appartamento non me la sento di mettere la mia istanza pubblica. Sono sicuro che gli utenti ne farebbero buon uso, e l'API di Hypixel è un buon esempio.
Edit: Typo
Branduzzo222
Membro
Peccato che oramai non funzioni più...Ho fatto delle modifiche al bot dopo mesi che era rimasto offline.
- Aggiunto il comando /daily per vedere le statistiche giornaliere.
- Aggiunto il comando /clan per vedere i giocatori in un clan.
- Aggiunta possibilità di vedere i Rank degli utenti.
- Aggiornato il link di invito del bot.
Inoltre internamente ho fatto dei cambiamenti che mi permetto di sormontare dei limiti che avevo in passato.
- Il bot ora ha un host vero e proprio, non dovrebbe andare offline senza motivo.
- Ho trovato un modo per scaricare le skin degli utenti SP, quindi presto saranno visibili dal bot.
Mi manca fare dei piccoli cambiamenti che in questo momento mi stanno dando problemi di performance (non prenderà troppo), e poi rilascerò qualcosa che credo potrebbe essere utile per tutti i giocatori di Coral. Stay tuned![]()
DiegoOdissey
Nuovo Membro
scusa, ma allora non scrivere?Neutral, non ho capito un ca