Skip to content

Releases: AFLdiscord/AFL-Bot

Versione 1.2

24 Feb 12:46
Compare
Choose a tag to compare

logging e incapsulamento di afler e archivio

Miglioramenti vari

  • incapsulamento di afler e archivio (#44 e #47)
    Questo cambiamento consente di effettuare più agevolmente le operazioni sull'archivio e permette di avere una gestione centralizzata sui campi di ogni enrty invece di avere stringhe in json sparse per il codice.
  • aggiunto logging (#43)
    Adesso gli eventi più rilevanti sono loggati nel canale di log del server così da tenere traccia di entrate/uscite, warn, messaggi cancellati etc

Changelog completo: v1.1.1...v1.2

Enjoy

Versione 1.1

27 Nov 22:33
Compare
Choose a tag to compare

funzioni di utilità per la gestione remota del bot

Nuove features

  • comando pull (#42)
    Pull del codice aggiornato dal repository tramite comando da discord. Questo comando causa l'esecuzione di git pull sull macchina remota (sfruttando la libreria GitPython) e invia l'output in un messaggio. Inoltre invoca automaticamente la ricarica delle cog.
    Sintassi: <pull

  • controllo coerenza archivio (#41)
    Ora l'elenco membri viene controllato a ogni connessione o resume di sessione in modo da garantirne la coerenza (es. se qualcuno esce dal server mentre il bot è offline appena quest'ultimo si riconnette elimina l'utente dall'archivio.

Miglioramenti vari

  • fixato un problema di incoerenza tra i tipi di dato caricati da file e quelli tenuti in memoria (#40)
  • possibile aggiornare il messaggio di stato del bot (sta giocando a...) senza riavviare con il comando <updatestatus
  • uniformato lo stile dei commenti

Enjoy

Versione 1.0

26 Oct 15:34
Compare
Choose a tag to compare

Ottava release ufficiale del bot

Nuove features

  • configurazione (#32)

    • setthresholds
      Comando per impostare i vari parametri del bot (soglia messaggi per l'attivo, durata attivo, etc). In questo modo non è più necessario agire manualmente sul file di configurazione
    • addactive
      Aggiunge un canale all'elenco dei canali conteggiati per il ruolo attivo.
  • autorimozione dei canali dall'elenco attivo se vengono cancellati (#39)

Miglioramenti vari

  • fix pulizia link amazon (#36)
  • migliorato output warncount per renderlo più leggibile (#33)
  • fix pulizia dei link amazon (#36)
  • impedire nickname duplicati (#38)
  • aggiornata versione libreria a 1.7.3

Full Changelog: v0.7...v1.0

Note

discord.py non è più supportata e smetterà di funzionare ad aprile 2022 quando discord renderà obbligatori gli slash commands. Stiamo valutando librerie alternative, quella più promettente per ora è pycord. Ne discuteremo sul server nel canale dedicato allo sviluppo.

Enjoy

Versione 0.7

28 Jul 15:01
Compare
Choose a tag to compare

Settima release ufficiale del bot.

Nuove features

  • bio

Ogni membro può impostare una bio personalizzata visibile tramite il comando bio. Il limite è di 70 caratteri.

  • help automatico

In caso di errori di sintassi nell'utilizzo dei comandi, il bot manderà automaticamente la lista dei comandi utilizzabili dall'utente. Per ora il messaggio è mandato nel canale in cui si sta scrivendo, se creerà problemi potremmo spostarlo in privato (anche se sarebbe preferibile non farlo, è fastidioso).

Miglioramenti vari

  • helper per gestire l'archivio e fare check di coerenza in caso di modifche manuali
  • fix a un bug del comando resetnick che ne impediva l'utilizzo
  • risoluzione conflitti prefisso < con funzioni di discord (menzioni, emoji, etc)
  • aggiunto controllo sulla lunghezza del nickname seguendo le limitazioni di discord
  • caching dell'archivio per evitare letture multiple, ora viene letto solo all'avvio e aggiornato a ogni scrittura

Enjoy

Versione 0.6

19 May 11:44
Compare
Choose a tag to compare

Sesta versione ufficiale del bot.

Nuove features

  • ammissione automatica membri

Automatizzata l'accettazione dei nuovi membri dopo che si sono presentati nel canale apposito in modo da evitare di attendere la revisione manuale dal parte di un moderatore. Questo semplifica il processo di ammissione, annunciando in automatico il nuovo membro in un canale di benvenuto in cui può aggiungere altre informazioni.

  • pulizia link

Introdotta una funzione di pulizia/accorciamento dei link per limitare la lunghezza dei link e rimuovere le parti non necessarie. Per ora supporta solo link a prodotti amazon, potrebbe essere estesa in futuro secondo necessità.
Il comportamento è il seguente:
quando un utente manda un link il bot controlla se può essere accorciato. Nel caso specifico dei link amazon, rimuove tutta la parte dopo il codice prodotto. Il messaggio originale dell'utente viene rimosso e il bot reinvia il link pulito con il nome di chi lo ha mandato, ovvero

link da Skylake:
<link pulito>
  • cambio nickname

È stato deciso di dare la possibilità di cambiare nickname ogni 30 giorni. Per questo è stato introdotto il comando setnick permettendo al bot di gestire queso cambiamento senza dare i permessi di farlo ai singoli membri. Il nickname è ora salvato nell'archivio e viene resettato in automatico in caso di cambiamenti.
Sintassi

<setnick nick         # imposta nick come nickname
<setnick due nick     # si possono usare anche più parole

Miglioramenti vari

  • semplificata installazione dipendenze usando il file requirements.txt
  • uniformati i delimitatori di stringa nell'intero progetto
  • rivista struttura cartelle

Inoltre da un po' di tempo tutto il codice nel repo viene analizzato automaticamente tramite CodeQL usando le GitHub Actions a ogni modifica. In futuro vedremo come gestire meglio la parte di workflow, magari aggiungendo un linter, per ora resta così.

Enjoy

Versione 0.5

14 Apr 10:20
Compare
Choose a tag to compare

Quinta versione ufficiale del bot. Da questa versione si esce dallo stato di pre-release.

Nuove features

  • gestione delle proposte

Da questa versione il bot tiene traccia di cosa viene scritto nel canale "proposte". Per ogni proposta si salva il numero totale di aventi diritto al voto e la soglia per stabilire se è stata approvata o no. Il controllo sul raggiungimento della soglia è fatto ogni 24 dalla stessa task che controlla il conteggio dei messaggi per il ruolo attivo.
Possono verificarsi due situazioni:
. la proposta è scaduta (passati 3 giorni) --> viene rimossa dal bot
. la proposta è passata (voti a favore >= soglia) --> cancella la proposta e manda un avviso a riguardo riportando il testo di questa

dettagli tecnici:

le proposte sono salvate in un apposito file "proposte.json" sotto forma di dizionario. Ogni entry è strutturata come segue (vedi discussione qua e qua):

"id_proposta" {
    "timestamp": timestamp della proposta con precisione fino al giorno,
    "total_voters": totale degli aventi diritto al voto al momento di prensentazione,
    "threshold": soglia di voti a favore affinchè la proposta passi,
    "passed": booleano per indicare se è passata o meno,
    "yes": numero di voti a favore,
    "no": numero di voti contrari,
    "content": il testo della proposta
}
  • comando printconfig

Stampa della configurazione del bot direttamente in chat, utile per consultarla mentre si fanno prove col bot.

Sintassi:
        <printconfig       #stampa la configurazione
  • comando coglist

Stampa l'elenco di tutte le cog attualmente caricate

Sintassi:
        <coglist          #stampa elenco cog
  • comandi addcog e removecog

Permettono di aggiungere/rimuovere nuove cog a runtime e salvarle/rimuoverle dall'elenco di cog da caricare all'avvio.

Sintassi:
        <addcog nome_cog               #aggiunge nome_cog al bot e al file extensions.json
        <addcog nome_cog altra_cog     #più cogs separate da spazio
        <removecog nome_cog            #rimuove nome_cog dal bot e dal file extensions.json
        <removecog nome_cog altra_cog  #più cogs separate da spazio

Miglioramenti vari

  • non è più necessario riavviare il bot per modificare il comportamento dei comandi o delle risposte agli eventi
  • possibilità di aggiungere/rimuovere interamente nuove cog a runtime
  • aggiornata la documentazione delle funzioni del bot e modificati nomi file
  • type hinting per le funzioni

Enjoy

Versione 0.4

26 Mar 15:43
Compare
Choose a tag to compare
Versione 0.4 Pre-release
Pre-release

Quarta versione ufficiale del bot.

Nuove features

  • possibilità di ricarica delle cogs

È adesso possibile ricaricare tutto il codice presente nelle cogs senza dover riavviare il bot consentendo così di applicare correzioni senza downtime. Per usare questo comando occorre essere mod.

Sintassi:
    <reload                              #ricarica tutte le estensioni
    <reload ModerationCog                #ricarica solo ModerationCog
    <reload ModerationCog UtilityCog     #più cogs separate da spazi
  • aggiornamento config

Ricarica di tutti i parametri di configurazione del bot tramite comando. Per esempio può essere utile quando viene aggiunto un nuovo canale specifico per aggiungerlo subito al conteggio dei messaggi senza dover riavviare. Comando riservato ai mod

<updateconfig            #ricarica tutti i parametri di configurazione
  • versione bot

Il bot ora mostra il numero di versione nello stato di discord

Miglioramenti vari

  • fixato un bug di azzeramento del contatore messaggi in caso di riavvio a metà giornata
  • spostamento eventi in una cog apposita
  • logging degli eventi della libreria (solo stampe per ora, file di log vedremo)
  • fixato bug che causava crash del bot se veniva disconnesso per periodi prolungati
  • aggiustato il conteggio dei messaggi per l'attivo per rispecchiare le intenzioni originali
  • aggiunta licenza e migliorate istruzioni di installazione

Enjoy

Versione 0.3

17 Mar 00:05
Compare
Choose a tag to compare
Versione 0.3 Pre-release
Pre-release

Terza versione ufficiale del bot.

  • aggiunto stato del bot (Sta giocando a...)
  • migliorato utilizzo del comando warn

Questa volta le modifiche maggiori riguardano l'architettura interna del bot. Con questa versione passiamo da un unico file python contenente tutto il codice a una divisione in moduli sfruttando la funzionalità Cogs della libreria. Valuteremo se apportare cambiamenti alla suddivisione nelle prossime release in caso ci siano problemi, seguiranno sicuramente fix e miglioramenti nei prossimi giorni.
Enjoy

Versione 0.2

12 Mar 23:04
Compare
Choose a tag to compare
Versione 0.2 Pre-release
Pre-release

Seconda release ufficiale del bot con notevoli miglioramenti riguardo alla stabilità e affidabilità del bot.
Nuove features:

  • comando status per mostrare statistiche riguardo a un membro del server (messaggi settimanali, attivo, violazioni)
  • comando per mostrare l'avatar di un membro
  • comando per mostrare la blacklist attuale
  • controllo sull'uscita/ban di membri per rimuoverli dal conteggio dei messaggi
  • migliorato comando warncount (ora riservato ai mod, i membri possono usare status)

Numerosi bug fix.
Enjoy

Versione 0.1

07 Mar 22:14
Compare
Choose a tag to compare
Versione 0.1 Pre-release
Pre-release

Versione iniziale del bot da lanciare nel server per testarne stabilità e robustezza su un periodo di prolungato di tempo