Oppure

Loading
20/08/16 13:34
GN
Postato originariamente da torn24:
presumo che fino a quando non sarà completato non sarà sempre attivo in chat!?

Questo è un problema di hosting più che altro. Per funzionare funziona ed è abbastanza stabile, però per fare in modo che sia sempre attivo serve che qualcuno abbia un server/vps (o pc acceso 24/7) e ci faccia girare il programma, che attualmente è piuttosto esoso di risorse (ogni plugin ha un metodo onPoll che viene chiamato continuamente; attualmente l'unico plugin che lo usa è quello del forum, che fa il controllo ogni 5 minuti, per il resto del tempo il thread rimane fermo, sia per evitare di bombardare il sito di richieste che per risparmiare tempo cpu; i metodi onPoll degli altri plugin sono attualmente vuoti quindi vengono chiamati continuamente in un loop infinito che consuma molti cicli di clock; penso che questo sia un problema da risolvere, comunque siccome ho scritto solo qualche plugin non voglio modificare la parte "core" del progetto senza prima sentire l'opinione di TheDarkJuster, che l'ha scritta).

un comando "help" che visualizzi le funzionalità e "comandi"?

Anche questa direi che è una feature necessaria. Si potrebbe aggiungere un metodo String help() alla classe astratta Trancio in modo che ogni plugin implementi il suo help, e fare in modo che digitando ad esempio "PizzaBot help" compaia l'elenco dei plugin attivi, e con "PizzaBot help <nomeplugin>" compaia l'help di un plugin restituito dal rispettivo metodo. Anche per questo aspetto di sapere se va bene a TheDarkJuster.

Ah, e riguardo a questo
Come suggerito da AldoBaldo in chat sarebbe utile se il link rimandasse all'ultimo post e non all'inizio del topic. Domani vedo se si riesce a fare lato client calcolando il numero di pagine dividendo il numero di replies per il numero di post per pagina e aggiungendo &page=numeropagina alla querystring.

Non riesco a implementarlo perchè l'url restituito dall'API non punta a viewtopic.php, che accetta la querystring, ma è in un'altro formato che contiene il titolo del topic, penso per ragioni di ottimizzazione SEO, e a quanto pare la regola di rewrite non tiene conto della querystring perchè l'argomento page che ho provato a passare non ha effetto.
aaa
20/08/16 16:48
TheDarkJuster
Eccomi qui!

Per prima cosa ringrazio GN per il plugin del forum e per gli altri (io ho scritto solo time e join).

Qui vedo diverse questioni legate al mio VPS a cui voglio rispondere:

1) il bot lo ho spento perchè prima del fix di GN floodava la chat: ogni 5 minuti scriveva la lista di thread modificati dall'accensione
2) il bot ora funzionerà notte e giorno 24h/24h 7/7
3) il bot si aggiornerà AUTOMATICAMENTE dal branch master

Questioni più specifiche all'architettura del bot:

1) l'interazione fra plugin non è possibile, e non voglio che lo sia: non si può fare un plugin help che accede alla lista di plugin:
voglio che ogni plugin sia un programma a se, che utilizza il meno possibile le api irc, così da semplificare il passaggio programma normale -> programma irc e vice versa.
Insomma, voglio una architettura dei plugins il più possibile astratta e pulita.

TUTTAVIA ho mantenuto aperta la possibilità di fare queste operazioni, vedere il sorgente Pizza.java per capire meglio!

2) E' vero: ogni plugin è eseguito in un thread a parte.
Tuttavia non è proprio vero che l'architettura lo rende esoso di risorse: il metodo onCall dei plugin e il metodo onPoll vengono chiamati uno dopo l'altro.
Tuttavia il metodo onCall, prima di essere chiamato (potrebbe non essere chiamato) fa una chiamata ad una funzione sincronizzata (monitor).
In pratica solo una chiamata a tale funzione può essere eseguite, tutti gli altri thread vengono messi a dormire.
L'accesso alla lista avviene con la stessa modalità, e il sistema è intrinsecamente "limitato". Non è un buco nero di risorse CPU!

3) La (possibile) colorazione delle parola non fa parte di irc: spetta al client (quindi non può dipendere dal bot)

4) Mi piacerebbe implementare python come linguaggio per i plugin, chi è con me?

aaa
26/08/16 8:25
torn24
Mi vergogno a dirlo, ho paura di sembrare troppo stupido :rofl::pat:
Ho provato ad accedere alla chat, ma dopo un saluto da parte del bot, non sono riuscito a provare nessun plugin,
avevo letto che erano disponibili funzioni da "calcolatrice", di conseguenza mi aspettava che digitando "2+2" mi desse il risultato, ho pensato forse bisogna anteporre il nome del bot "PizzaBot 2+2", diciamo che per le mie modeste risorse di intuizione "e altro",
non è tanto semplice andare a tentativi :rotfl:

Propongo una guida al chatbot, non serve implementare niente a livello di codice, solo un thread del forum che faccia qualche esempio pratico...., capisco che è una creazione per sviluppatori e quindi uno si dovrebbe andare a leggere i sorgenti, ma se uno vuole dirla tutta, il mondo è fatto da miliardi di persone che per sorgente si immagino acqua limpida :D
aaa
26/08/16 9:48
TheDarkJuster
PizzaBot help


Con il comando sopra il bot ti dice cosa fare.

Comunque per la calcolatrice:

Pizzabot calc 2 + 3

aaa
04/09/16 21:18
lumo
Il plugin per hackernews è ora presente anche se va migliorato.

Una idea si discuteva in chat era quella di cambiare lightIRC con qualcosa di meno cumbersome.
In particolare per il fatto che disfarsi di flash sarebbe una buona cosa.

mibbit potrebbe essere un'opzione ma ha una preoccupante voce "No Adverts" legata alla versione a pagamento (c'è anche una versione free, ma non ho ancora guardato la differenza)
> widgetmanager.mibbit.com/

Un'alternativa è anche KiwiIRC kiwiirc.com/ che è pure open source
aaa
05/09/16 15:14
pierotofy
Mm, preferibilmente un rimpiazzamento dovrebbe essere 100% lato client (vedo che Kiwi deve essere fatto girare con node.js)?

Questo sembra promettente: webricirc.com/
Il mio blog: piero.dev
05/09/16 16:02
lumo
Non è male, potremmo forkarlo e modificare quel suono terribile e per me andrebbe anche bene, tenendo conto che il suo ulitmo update risale al 2014.
Tanto non servono cose molto avanzate per il client embedded.

Nel caso di conversazione ulteriore riguardo al client apriamo un nuovo post, perché mi fanno notare che sto inquinando quello del bot :rofl:
aaa
10/09/16 14:25
TheDarkJuster
Stato attuale del bot:

- I plugin sono divisi in due categorie:
1. Plugin attivabili su richiesta: ad esempio PizzaBot convert hex2bin FFA0
2. Plugin automatici: ad esempio quello che informa dei nuovi thread del forum
- Il bot NON utilizza più il 100% della CPU: L'utilizzo della CPU è ora ottimale.
- Il bot NON è completamente documentato, quindi qui servirà aiuto
- Il bot è MOLTO più veloce delle prime versioni
aaa