View Full Version : [IRC] Accesso e lettura a database
Si parla sempre di programmazione: per un canale IRC dovrei addare e leggere nel db della news di informazione tramite cmd tipo !addnews ecc... il problema è che non sò come fare ed info non ne son riuscito a trovare. Qualcuno sà darmi una mano?
NapalM
Si parla sempre di programmazione: per un canale IRC dovrei addare e leggere nel db della news di informazione tramite cmd tipo !addnews ecc... il problema è che non sò come fare ed info non ne son riuscito a trovare. Qualcuno sà darmi una mano?
NapalM
il primo metodo che mi viene in mente è quello di scriverti una pagina asp/php che si interfacci con il database la quale tu richiami tramite una socket di mirc passandole i dati che ti interessano.
ciao :)
il primo metodo che mi viene in mente è quello di scriverti una pagina asp/php che si interfacci con il database la quale tu richiami tramite una socket di mirc passandole i dati che ti interessano.
ciao :)
Interessante la storia, però di php non sono a digiuno.. ma di +.. per caso avresti delle dritte da darmi o siti a cui fare riferimento per questo tipo di utilizzo?
Grazie.
NapalM
Potresti eseguire direttamente anche un eseguibile, o anche un script PHP volendo, senza passare dal web server (php.exe è l'interprete dei comandi php)...
Potresti eseguire direttamente anche un eseguibile, o anche un script PHP volendo, senza passare dal web server (php.exe è l'interprete dei comandi php)...
Grazie cioncio, il problema è che php non l'ho mai usato quindi non saprei da che parte iniziale.. avrei bisogno di uqalche esempio in questo ambito.....
NapalM
Hai usato qualche altro linguaggio di programmazione ? Va bene lo stesso...
Hai usato qualche altro linguaggio di programmazione ? Va bene lo stesso...
C C# java.... è possible anche con questi farlo?
NapalM
Certo, sono eseguibili esterni...e di fatto puoi lanciarli da mIRC...
I parametri glieli passi tramite linea di comando... L'unico casino è prendere dati e mandarli a mIRC, ma anche in questo modo ti puoi organizzare...
Certo, sono eseguibili esterni...e di fatto puoi lanciarli da mIRC...
I parametri glieli passi tramite linea di comando... L'unico casino è prendere dati e mandarli a mIRC, ma anche in questo modo ti puoi organizzare...
Quindi dici che compilando un jar se passo jar e parametri (xxx.jar stringa_news) riesco a farla inserire?
per la lettura invece? qua non ne ho la + pallida idea...
NapalM
Scomodare Java mi sembra la cosa più complicata... Io fra quelli che conosci userei C#...
Per scambiare dati fra l'eseguibile e mIRC puoi usare i file... Devi gestirti un contatore univoco da mIRC per identificare ogni esecuzione del programma esterno ed in base a quel contatore ti crei un file chiamato come il valore del contatore in cui ci metti l'input...l'eseguibile fa le sue operazioni e crea un file con lo stesso nome di quello precedente e ci scrive l'ouput...
Ad esempio: 1.in e 1.out se il contatore è 1...
Come tu possa fare per gestirti un contatore univoco (o quasi) in mIRC non ne ho la più pallida idea, anche perchè l'ultimo script che ho fatto per mIRC risale a 9 anni fa...
Scomodare Java mi sembra la cosa più complicata... Io fra quelli che conosci userei C#...
Per scambiare dati fra l'eseguibile e mIRC puoi usare i file... Devi gestirti un contatore univoco da mIRC per identificare ogni esecuzione del programma esterno ed in base a quel contatore ti crei un file chiamato come il valore del contatore in cui ci metti l'input...l'eseguibile fa le sue operazioni e crea un file con lo stesso nome di quello precedente e ci scrive l'ouput...
Ad esempio: 1.in e 1.out se il contatore è 1...
Come tu possa fare per gestirti un contatore univoco (o quasi) in mIRC non ne ho la più pallida idea, anche perchè l'ultimo script che ho fatto per mIRC risale a 9 anni fa...
Azz.. C# è quello che conosco meno.. di solito lavoro con Java durante il giorno :muro:
Per la gestione dello scambio dati quindi dovrei basarmi sulla scrittura e lettura da file.txt per esempio... questa è la cosa più complicata mi pare .... vedrò se scervellandomi un pò riuscirò a combinare qualcosina... grazie per l'aiuto :)
NapalM
No, IMHO la cosa più complicata è ottenere un contatore che identifichi univocamente ogni chiamata al tuo eseguibile esterno...altrimenti un comando potrebbe sovrascrivere i dati del comando precedente prima che questo sia terminato...
No, IMHO la cosa più complicata è ottenere un contatore che identifichi univocamente ogni chiamata al tuo eseguibile esterno...altrimenti un comando potrebbe sovrascrivere i dati del comando precedente prima che questo sia terminato...
Anche quello.. al posto del contatore ci potrebbe anche essere il nick di chi ha fatto la richiesta tipo: nick_in.txt nick_out.txt che si autoeliminano alla fine del ciclo e poi un controllo sull'esistenza di questi file che permette un cmd alla volta da parte di un utente...
NapalM
Perfetto ;)
Eeheh sulla carta è perfetto vedremo durante l'implementazione come farlo :D
NapalM
Ricordati comunque che se un utente invia due comandi molto vicini il tuo metodo fallisce... Credo che dovresti controllare prima dell'esecuzione del comando se il file con quel nome esiste... Se esiste invii un messaggio di errore all'utente... Ricordati di ripulire la directory dove salvi questi file all'avvio di mIRC per recuperari da eventuali boot improvvisi che ti lasciano i file a giro...
Sai per caso se esisteo delle librerie java per parlare con irc... stò cercando in giro ma non trovo nulla...
NapalM
Sai per caso se esisteo delle librerie java per parlare con irc... stò cercando in giro ma non trovo nulla...
NapalM
puoi farlo anche tu, il protocollo irc non è molto difficile, sai usare i socket in java?
Mmhmh ho trovato questo: http://moepii.sourceforge.net/
Teoricamente potrei far entrare un bot nel chan, quando uno fà !addnews manda un msg privato al bot che acquisisce la stringa e la elabora per inserirla all'interno del db.... può essere?
NapalM
Ho un piccolo problema: stavo testando il client pre compilato che ho trovato qua http://moepii.sourceforge.net/irclib/tutorial.html#5.1
quando lo esegue con java IRC.class -server irc.daxnet.no:6666 -nick napalmtest
mi dà il seguente errore:
Exception in thread "main" java.lang.NoClassDefFoundError: org/schwering/irc/lib
/IRCConnection
come faccio ad includere quella classe che sembra non vederla?
NapalM
Problema risolto, ho ricompilato tutto con netbeans ed ora funziona. Riesco a connettermi il problema è che mi disconnette appena connesso:
AUTH> null (notice): *** Looking up your hostname...
AUTH> null (notice): *** Checking Ident
AUTH> null (notice): *** Found your hostname
AUTH> null (notice): *** No Ident response
Connected
Reply #1: napatest Welcome to the EFNet Internet Relay Chat Network napatest
Reply #372: napatest - '-----------------------------------------------------------------'
Reply #376: napatest End of /MOTD command.
Mode: napatest sets modes +i napatest
Error: Closing Link: adsl-ip.it (Client Quit)
Disconnected
BUILD SUCCESSFUL (total time: 14 seconds)
L'ho fatto partire con questi parametri -server irc.daxnet.no:6666 -nick napatico e vi allego anche i sorgenti..
NapalM
IMHO perchè cerca l'identd (ovvero ident deamon)... S enon è implementato nel client che hai scaricato devi fartelo da solo...
IMHO perchè cerca l'identd (ovvero ident deamon)... S enon è implementato nel client che hai scaricato devi fartelo da solo...
Ciao cionci piano piano stò risolvendo un sacco di problemi.. ora riesco a connettermi.. ma ti pongo a te ed ad altri un problema, io da linea di comando eseguo questa applicazione:
javac -classpath test.jar;. *.java
java -classpath test.jar;. Test
il problema è che adesso gli ho inglobato il collegamento al db tramite sql server e devo usare il jar dei driver.. quando compilo tramite netbeans non c'è problema ma quando devo farlo da shell come faccio? Posso usare + di un jar x la compilazione?
NapalM
Java uhm che è ? Non conosco bene Java...sorry ;)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.