WIF - La Community Italiana di The Battle for Wesnoth

Wesnoth Italian Forum
La Community Italiana di The Battle for Wesnoth uno dei migliori giochi multiplayer online gratis open source, a turni di ambientazione fantasy. Iscriviti a wifper partecipare ai tornei online, allo sviluppo di nuove estensioni (campagne, mappe, ere, scenari, fazioni) e a tutte le iniziative di w.i.f. per questo meraviglioso gioco strategia . Giocare gratis on line non è mai stato più facile.

Se stai cercando giochi multiplayer online, giochi di strategia, giochi a turni, giochi open source, giochi gratuiti o giochi fantasy, vieni a giocare online in multiplayer con noi! Questo è il forum che cercavi.
20 Ottobre 2017, 11:58:05 *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
 Notizia
VENITE A TROVARCI NELLA CHAT DI W.I.F.
- per organizzare partite ed incontri Ghigno  -
Ti aspettiamo!
Ricerca avanzata  
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: elvishbot, ovvero Minosse 2  (Letto 602 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Elvish_Hunter
Moderatore globale
*****
Scollegato Scollegato

Messaggi: 674


Lo sviluppator cortese


« inserita:: 03 Marzo 2016, 12:39:17 »

Oggi vorrei presentarvi un nuovo amico elettronico che, ogni tanto, ci farà compagnia in chat, specialmente nelle giornate di torneo e relativi sorteggi.
Il nostro amico si chiama elvishbot e, come il nome suggerisce, è un bot IRC. In qualche modo, rappresenta il successore spirituale di Minosse, adatto anche per l'uso su network internazionali (per questo funziona in inglese) e con alcuni miglioramenti. Occhiolino
Il codice sorgente di elvishbot è disponibile su GitHub, è scritto in Python e richiede il client WeeChat per funzionare; in altre parole, ho usato WeeChat come fosse un framework. Molti dei miglioramenti rispetto a Minosse, quali l'antiflood, la possibilità di farlo entrare in più canali e il supporto alle connessioni SSL, derivano proprio dall'uso di questo client.
Il bot risponde alla sintassi <nome bot>: <comando>; nel mio caso, <nome bot> corrisponde a elvishbot (che ho opportunamente registrato come nick), ma per le istanze usate dagli altri utenti <nome bot> corrisponde al nick col quale lo hanno fatto entrare nel canale - ciò evita le collisioni che si sono verificate in passato tra Raelbot e Draco, ad esempio (entrambi usavano ! come prefisso dei comandi - almeno questo ho capito leggendo i vecchi post). Questi sono i comandi attualmente supportati, e potete rivederli con il comando elvishbot: help:
Codice:
help: shows this message
about: infos about me
coin: tosses a coin
server: prints the address of the Italian server
dice <n>: throws a n-sided dice, if n is not supplied throws a six-sided dice
rps <choice>: plays a game of rock, paper, scissors (replace <choice> with one of them)
This bot can also handle two lists (each of them can contain up to 99 items), called 'A' and 'B'. These are the related commands:
list clear <optional list>: deletes the content of the supplied list; if no list is specified, deletes the content of both lists
list show: shows the content of both lists, assigning an index to each element
list add <list> <items>: adds the specified items, separated by commas, to the specified list
list remove <list> <items>: removes the specified items, separated by commas, from the specified list
list extract <list>: returns and removes one item from the specified list
list makepairs: associates each item from list A with one element from list B; both lists must have the same number of items
list makepairs <list>: if the number of items of the specified list is even, creates pairs with the elements of said list
list pair: extracts a pair of elements, picking one element from each list if both contain at least one element, otherwise picks both elements from the same list
list pop <list> <index>: removes the item matching the specified index from the specified list; to see the indexes, use the 'list show' command
Qualora ne abbiate bisogno nel canale, vi consiglio di inviarmi un messaggio privato in anticipo, in modo da potermi organizzare, visto che non sempre ho il tempo di venire in chat. Bacio

Si accettano consigli, suggerimenti, opinioni, richieste...
« Ultima modifica: 03 Marzo 2016, 12:47:52 da Elvish_Hunter » Registrato

Manutentore corrente di The Sojournings of Grog, Children of Dragons, A Rough Life e Wesnoth Lua Pack.
The White Troll - topic ufficiale
Nobun
Moderatore Globale e Vincitore Torneo di Singolare 2011
*
Scollegato Scollegato

Messaggi: 693


Negromante elementale del Vento


« Risposta #1 inserita:: 03 Marzo 2016, 13:26:29 »

Essendo colui che aveva originariamente sviluppato Minosse, è per me un piacere essere il primo a congratularmi con te per il lavoro svolto e per i miglioramenti apportati rispetto a Minosse.

Tra i miglioramenti di elvish bot, rispetto a Minosse, potrei citare anche una maggiore flessibilità nell'uso dei comandi di lista rispetto a quella programmata in Minosse (ad esempio: la funzione "list add" di elvishbot ora accetta anche una lista multipla di nomi, mentre nella versione originaria da me programmata in Minosse la stessa funzione accettava un solo nome alla volta, obbligando quindi la persona a digitare tanti "add" quanti i nominativi dei partecipanti al torneo).

Che dire... ottimo lavoro Felice
Registrato



A VOLTE ATTIVO, A VOLTE NO
Elvish_Hunter
Moderatore globale
*****
Scollegato Scollegato

Messaggi: 674


Lo sviluppator cortese


« Risposta #2 inserita:: 03 Marzo 2016, 19:28:06 »

Tra i miglioramenti di elvish bot, rispetto a Minosse, potrei citare anche una maggiore flessibilità nell'uso dei comandi di lista rispetto a quella programmata in Minosse
Sì, immagino che scrivere per sedici volte '.add <nome>' non sia proprio il massimo della vita Linguaccia Chiaramente, lo svantaggio della mia soluzione è che le virgole non possono essere parte degli elementi da inserire, visto che sono il carattere separatore.
Anche il comando 'list makepairs' è interessante. Invece di usare .pair a ripetizione, si scrive solo un comando e il sorteggio avviene in automatico (e se necessario, si può anche aumentare l'antiflood per rallentarlo e aggiungere suspense... Ghigno). Tra l'altro, grazie per avermi suggerito di implementare la possibilità di usare questo comando anche su una sola lista. Infatti, la versione originale era molto simile, come funzionamento, al comando .accoppia che era stato suggerito per Minosse.
Essendo colui che aveva originariamente sviluppato Minosse, è per me un piacere essere il primo a congratularmi con te per il lavoro svolto e per i miglioramenti apportati rispetto a Minosse.
...
Che dire... ottimo lavoro Felice
Grazie! Fammi sapere se vuoi che ti aggiungo alla repository Sorriso
« Ultima modifica: 03 Marzo 2016, 19:31:31 da Elvish_Hunter » Registrato

Manutentore corrente di The Sojournings of Grog, Children of Dragons, A Rough Life e Wesnoth Lua Pack.
The White Troll - topic ufficiale
Dret
L'Occhio sopra di Voi!
Amministratore
*****
Scollegato Scollegato

Messaggi: 1288



« Risposta #3 inserita:: 04 Marzo 2016, 20:35:34 »

Ottimo lavoro, come al solito!!!

PS
Prima o poi vi convoco e apriamo una Start Up....!! Felice Felice Felice
Registrato

Non fatevi prendere dal Panico!!
Ghigno
Pagine: [1]   Vai su
  Stampa  
 
Vai a: