Skip to content
/ LootBot Public
forked from sidelux/LootBot

Fork per sviluppo di nuove funzionalità (e definizione della struttura codice)

License

Notifications You must be signed in to change notification settings

nrc382/LootBot

 
 

Repository files navigation

Loot Game Bot - Telegram Bot

Il primo gamebot di Telegram creato da Edoardo Cortese con più di 33.000 registrazioni disponibile dal 2016.

Il bot utilizza il modulo "node-telegram-bot-api" per interagire con le Api di Telegram, un database MySql per memorizzare i dati e Node Js per essere eseguito.

Codice

Il codice è ora accessibile a tutti, questa decisione è stata presa con lo scopo di risolvere più velocemente i problemi o aggiungere funzionalità al bot in modo tale che chiunque possa contribuirne al miglioramento.

Il codice è stato scritto ormai nel lontano 2016, quando il creatore era alle prime armi con Node Js, di conseguenza è logico trovare molte righe e metodi di lavoro non appropriati o non aggiornati.

Per avviarlo nel proprio ambiente è necessario procedere secondo i seguenti passi:

  • Installare i pacchetti node con il comando npm install.
  • Il file config va rinominato rimuovendo la parte dopo il trattino basso, inserendo tutti i token dei bot necessari per quanto riguarda le funzionalità che si vogliono utilizzare. È per esempio possibile anche solo utilizzare quelli del bot principale (Loot Game Bot) e quelli del bot di supporto (Loot Plus Bot) ignorando gli altri. I dettagli sono presenti direttamente nel file, come commenti.
  • Dopo di che bisogna importare la struttura del database in un ambiente MySql.
  • Infine è necessario configurare nginx come proxy utilizzando il file di configurazione fornito, aggiungendo un certificato valido ed una chiave.
  • È consigliato utilizzare un gestore di processi come PM2 per far partire i vari bot.

È presente anche la LootBotApi accessibile via web nella relativa repository. Per installarla è necessario anche in questo caso rinominare e modificare il file config.js, specificare validi certificati ssl e poi avviarlo come gli altri script.

È bene tenere in conto che il bot non è mai stato testato in questo stato con 0 giocatori registrati, potrebbe avere comportamenti inattesi.

Contributi

Per contribuire è possibile creare PR direttamente tramite Github oppure contattare direttamente @fenix45 su Telegram, seguendo queste indicazioni:

  • Esegui il fork del progetto
  • Crea il tuo branch con un nome parlante
  • Esegui il commit delle modifiche
  • Esegui push
  • Apri una Pull Request dettagliando le modifiche effettuate

Prima di creare una richiesta è bene verificare che il codice sia funzionante e valido e si riesca a innestare bene nel bilanciamento del gioco.

TODO

Ci sono vari interventi che ho pensato di apportare ma per mancanza di tempo o risorse non sono mai riuscito ad avviare:

  • Predisposizione per l'open source
  • Automazione completa della gestione degli eventi e della globale
  • Divisione del codice in moduli/file (in corso)
  • Aggiunta periodica delle nuove funzionalità sulla base dei suggerimenti della community tramite i contributi degli altri sviluppatori
  • Bilanciamento generale che nel tempo ha portato ad inflazione e rottura di molte meccaniche del gioco (in corso)
  • Aggiunta del supporto al multi lingua (principalmente l'inglese)

I contributi a questi interventi avranno maggior priorità rispetto alle altre modifiche.

Issue

Per segnalare eventuali problemi al codice non è necessario per forza modificare il codice, è anche possibile creare una richiesta Issue rispettando l'apposito template per indicare con più dettagli possibili quali errori si riscontrano. Io o qualcun'altro provvederemo a risolvere il problema o commentare con maggiori indicazioni.

Autori

  • Edoardo Cortese - Programmazione - fenix45
  • Emanuele Finiguerra - Analisi e bilanciamenti - LastSoldier95
  • Dario Emerson - Fix e migliorie strutturali
  • @Delooo - Mob generator

Licenza

Questo progetto è sotto licenza GNU AGPLv3 - leggi la documentazione per ulteriori dettagli.

About

Fork per sviluppo di nuove funzionalità (e definizione della struttura codice)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.8%
  • Rich Text Format 0.2%