Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso
Basato su piattaforma Qualcomm Snapdragon X Plus a 8 core, il nuovo Microsoft Surface Pro 12 è un notebook 2 in 1 molto compatto che punta sulla facilità di trasporto, sulla flessibilità d'uso nelle differenti configurazioni, sul funzionamento senza ventola e sull'ampia autonomia lontano dalla presa di corrente
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet!
Il REDMAGIC Astra Gaming Tablet rappresenta una rivoluzione nel gaming portatile, combinando un display OLED da 9,06 pollici a 165Hz con il potente Snapdragon 8 Elite e un innovativo sistema di raffreddamento Liquid Metal 2.0 in un form factor compatto da 370 grammi. Si posiziona come il tablet gaming più completo della categoria, offrendo un'esperienza di gioco senza compromessi in mobilità.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-02-2010, 21:20   #1
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
[python] bot

salve a tutti,
ho visto alcuni bot in irc che sono collegati come normali utenti, ma quando scrivi il loro nome in una frase e usi magari parole particolari ti rispondono.

tipo: "ciao nome_bot che TEMPO fa oggi?"
e potrebbe rispondere "non ho l'orologio" oppure "qua c'è sempre un tempo schifoso".

ora, da dove potrei iniziare a fare una cosa simile?

p.s. come è possibile, in una notte, imparare perl, un pò di espressioni regolari e fare un bot funzionante?

Ultima modifica di ratman511 : 22-02-2010 alle 21:57.
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 22:46   #2
Jak696
Member
 
L'Avatar di Jak696
 
Iscritto dal: Feb 2008
Messaggi: 269
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
salve a tutti,
ho visto alcuni bot in irc che sono collegati come normali utenti, ma quando scrivi il loro nome in una frase e usi magari parole particolari ti rispondono.

tipo: "ciao nome_bot che TEMPO fa oggi?"
e potrebbe rispondere "non ho l'orologio" oppure "qua c'è sempre un tempo schifoso".

ora, da dove potrei iniziare a fare una cosa simile?

p.s. come è possibile, in una notte, imparare perl, un pò di espressioni regolari e fare un bot funzionante?
non è possibile.
...
hai già basi di programmazione?
__________________
CPU: AMD Athlon X2 7750BE 3.15Ghz@vcore 1.3750 / NorthBridge: 2250Mhz@1.3125v
RAM: Mushkin XP2 Radioactive 4GB 900Mhz@4-4-4-12-1T / HyperTransport: 2025Mhz
VGA: Club3D Radeon HD4850 / HDD: Western Digital Caviar RE3
Jak696 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 22:56   #3
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
eppure un ragazzo che conosco c'è riuscito.

comunque non ho basi di programmazione, ho iniziato qualche mese fa con java e poi sono passato a python, l'ho studiato per bene e vorrei fare un piccolo bot che faccia almeno quelle cose, ma non so da dove partire.
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 22-02-2010, 22:58   #4
Jak696
Member
 
L'Avatar di Jak696
 
Iscritto dal: Feb 2008
Messaggi: 269
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
eppure un ragazzo che conosco c'è riuscito.

comunque non ho basi di programmazione, ho iniziato qualche mese fa con java e poi sono passato a python, l'ho studiato per bene e vorrei fare un piccolo bot che faccia almeno quelle cose, ma non so da dove partire.
perchè non lo fai in python allora?
non sono neanch'io un esperto ma a naso penso che come prima cosa dovresti implementare il protocollo IRC nella tua applicazione (sicuramente esistono librerie già fatte), poi una volta connesso fargli parsare ogni frase e reagire a determinate keywords
__________________
CPU: AMD Athlon X2 7750BE 3.15Ghz@vcore 1.3750 / NorthBridge: 2250Mhz@1.3125v
RAM: Mushkin XP2 Radioactive 4GB 900Mhz@4-4-4-12-1T / HyperTransport: 2025Mhz
VGA: Club3D Radeon HD4850 / HDD: Western Digital Caviar RE3
Jak696 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 09:02   #5
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
p.s. come è possibile, in una notte, imparare perl, un pò di espressioni regolari e fare un bot funzionante?
E' possibile se il soggetto è già un programmatore con esperienza in altri linguaggi.
Se parte da zero con la programmazione in generale, resta la possibilità del copia-incolla...
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 11:25   #6
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
Quote:
perchè non lo fai in python allora?
infatti lo voglio fare in python.

Quote:
non sono neanch'io un esperto ma a naso penso che come prima cosa dovresti implementare il protocollo IRC nella tua applicazione (sicuramente esistono librerie già fatte), poi una volta connesso fargli parsare ogni frase e reagire a determinate keywords
eh lo so, ma non so come codificarlo.
Quote:
E' possibile se il soggetto è già un programmatore con esperienza in altri linguaggi.
Se parte da zero con la programmazione in generale, resta la possibilità del copia-incolla...
si ha esperienza, ma come è possibile una cosa del genere?
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 11:50   #7
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
si ha esperienza, ma come è possibile una cosa del genere?
Beh, se già programmi da anni ad imparare la sintassi di un nuovo linguaggio di programmazione ci metti poco; le regular expression già le conosci (non sono un'esclusiva di Perl) e la logica per fare un bot (e qui bisogna vedere che tipo di bot, quanto complesso, magari è una minchiata) semplice la esamini e implementi in un tempo relativamente breve (magari aveva qualche conoscenza già acquisita che ha potuto riciclare per affrontare il problema).

Quindi date le premesse e considerato che una nottata si estende tranquillamente su arco di 8 ore non vedo perchè non avrebbe dovuto farcela.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 12:58   #8
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Beh, se già programmi da anni ad imparare la sintassi di un nuovo linguaggio di programmazione ci metti poco; le regular expression già le conosci (non sono un'esclusiva di Perl) e la logica per fare un bot (e qui bisogna vedere che tipo di bot, quanto complesso, magari è una minchiata) semplice la esamini e implementi in un tempo relativamente breve (magari aveva qualche conoscenza già acquisita che ha potuto riciclare per affrontare il problema).

Quindi date le premesse e considerato che una nottata si estende tranquillamente su arco di 8 ore non vedo perchè non avrebbe dovuto farcela.
ho solo detto che è incredibile che parte senza conoscere perl e dopo una notte fa un bot. tutto qua. io non ne sarei capace.

qualcuno mi può aiutare? vorrei iniziare come prima cosa a stabilire la connessione con il serve, ed entrare nel canale con un nick. da dove dovrei iniziare?
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 14:54   #9
MadJackal
Senior Member
 
Iscritto dal: Sep 2008
Messaggi: 376
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
ho solo detto che è incredibile che parte senza conoscere perl e dopo una notte fa un bot. tutto qua. io non ne sarei capace.

qualcuno mi può aiutare? vorrei iniziare come prima cosa a stabilire la connessione con il serve, ed entrare nel canale con un nick. da dove dovrei iniziare?
Mi pare che in Perl ci sia una libreria tipo Net::IRC che gestisce praticamente tutto a riguardo, quindi facendolo così è mooolto semplice. E perl, ad un livello base, non è molto diverso da altri linguaggi (più o meno )

In teoria, dovresti iniziare dalla descrizione del protocollo IRC.

Poi in giro ci sono librerie come python-irclib per comunicare con i server IRC.
Se vuoi fare tutto a mano la cosa è un pò più complessa, ma comunque google può darti una mano :P
__________________
командир роты - Quando la CAUSA chiama, l'esercito del male risponde!
MadJackal è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 15:59   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
ho solo detto che è incredibile che parte senza conoscere perl e dopo una notte fa un bot. tutto qua. io non ne sarei capace.
Non è detto che le cose siano andate come te le ho descritte io; ho solo tentato di fare un'ipotesi sensata per rispondere alla tua domanda/curiosità, nel tentativo di "demistificare" la cosa per farti capire che dietro non c'è nulla di "magico", ne occorrono particolari doti di genialità...

Quello che sicuramente occorre è una forte volontà/motivazione, una buona capacità di concentrazione, e una moka di ottimo caffè (oppure l'insonnia, se si ha sfiga)

P.S.:
Come ha fatto notare MadJackal, occorre anche una certa conoscenza del protocollo IRC, cosa che probabilmente quel tizio già conosceva: a quel punto imparare "al volo" la sintassi di Perl e l'uso di una specifica libreria per interfacciarsi con IRC e scrivere il suo bot può essere si benissimo il lavoro di una nottata.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 23-02-2010 alle 16:04.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 16:34   #11
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Città: Tristram
Messaggi: 517
C'è anche da dire che esistono bot e bot.
C'è il bot giocattolo che quando pronunci il suo nome in canale se ne esce con una frase a caso (la cui programmazione, per una persona minimamente skillata, è banale) e quelli seri che gestiscono la catena della botnet, la lista degli utenti, degli operatori, dei ban, si sincronizzano, si "rioppano" in caso di split di qualche server, si "difendono" gli uni con gli altri, e svariate altre funzionalità.
Ai miei tempi si bazzicava solo su IRC (non esistevano msn, facebook e ammennicoli odierni, e lo rimpiango sinceramente) e giravano botnet spaventose, anche di 2/300 bot (botnet=in parole povere, insiemi di bot che lavorano insieme nella gestione di più canali, autoriconoscendosi e difendendosi da eventuali attacchi gli uni con gli altri, il tutto ovviamente in automatico).
Ecco, per programmare qualcosa del genere ci vuola qualcosa di più di una nottata
__________________
Il sole è giallo
yorkeiser è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 16:51   #12
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
Ecco, per programmare qualcosa del genere ci vuola qualcosa di più di una nottata
Ah, dettagli interessanti, non ne sapevo niente dato che di chat ho esperienza zero su tutti i fronti.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 17:26   #13
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
Quote:
In teoria, dovresti iniziare dalla descrizione del protocollo IRC.

Poi in giro ci sono librerie come python-irclib per comunicare con i server IRC.
Se vuoi fare tutto a mano la cosa è un pò più complessa, ma comunque google può darti una mano :P
se ci sono le librerie pronte a che mi serve leggere la descrizione del protocollo? io però volevo provare a farlo a mano, con i socket. ci ho provato un pò, ma non funziona e non so perchè.
Quote:
Come ha fatto notare MadJackal, occorre anche una certa conoscenza del protocollo IRC, cosa che probabilmente quel tizio già conosceva: a quel punto imparare "al volo" la sintassi di Perl e l'uso di una specifica libreria per interfacciarsi con IRC e scrivere il suo bot può essere si benissimo il lavoro di una nottata.
se uno usa le librerie a che serve conoscere il protocollo?
Quote:
C'è il bot giocattolo che quando pronunci il suo nome in canale se ne esce con una frase a caso (la cui programmazione, per una persona minimamente skillata, è banale)
io voglio fare un bot cosi, ma evidentemente non sono nemmeno minimamente skillato visto che per me non è proprio una cosa banale
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 17:38   #14
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4125
Quote:
Originariamente inviato da yorkeiser Guarda i messaggi
e quelli seri che gestiscono la catena della botnet, la lista degli utenti, degli operatori, dei ban, si sincronizzano, si "rioppano" in caso di split di qualche server, si "difendono" gli uni con gli altri, e svariate altre funzionalità.
Ai miei tempi si bazzicava solo su IRC (non esistevano msn, facebook e ammennicoli odierni, e lo rimpiango sinceramente) e giravano botnet spaventose, anche di 2/300 bot (botnet=in parole povere, insiemi di bot che lavorano insieme nella gestione di più canali, autoriconoscendosi e difendendosi da eventuali attacchi gli uni con gli altri, il tutto ovviamente in automatico).
Ecco, per programmare qualcosa del genere ci vuola qualcosa di più di una nottata
Credo proprio che l'autore non si riferisse a questo genere di bot
Questi sono lavori *enormi* da fare e si devono avere determinate conoscenze oltretutto. Ed esperienza, ovviamente.
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 17:44   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
se uno usa le librerie a che serve conoscere il protocollo?
Non so se ti ricordi che tempo (mesi) fa ci siamo scambiati qualche pvt; in uno di questi ti spiegavo come la conoscenza del dominio del problema che si sta affrontando sia un aspetto critico, oltre che per implementare una soluzione completamente "a mano", anche per l'uso di eventuali librerie che trattino uno o tutti gli aspetti del problema.

Un protocollo stabilisce le regole di una comunicazione; conoscerlo è indispensabile per implementare la comunicazione, oppure per usare le librerie associate.

Un esempio banale: se non sai che nel protocollo FTP i canali di comunicazione sono due (uno per i comandi, l'altro per il trasferimento vero e proprio dei dati) non riesci a capire come mai la tal libreria X ti metta a disposizione un "client FTP" per comunicare con un host remoto e questo non ti permetta di trasferire più di un file alla volta neppure usando più thread con lo stesso client (perchè il "client FTP" implementato in quella libreria ha associato un solo canale di comunicazione e un solo canale di trasferimento dati).

Oppure potresti vedere cadere la connessione nel tuo applicativo, non sapendo che alcuni server chiudono unilateralmente la connessione con il client se questo rimane inattivo per un certo tempo, e allo scopo il protocolo FTP fornisce un comando "noop" (no operation) che può essere usato solo per testare se la connessione è ancora viva e per mantenerla tale...

Se il protocollo con cui devi avere a che fare è relativamente poco complesso e la libreria che usi è ben documentata puoi anche pensare di iniziare studiando la libreria e espandere le tue conocsenze del protocollo in dettaglio in seguito.

Dipende sempre da cosa devi fare e con cosa devi avere a che fare.
Per IRC non so aiutarti.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 18:02   #16
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
non ho capito bene il discorso di poter inviare un solo file alla volta, ma comunque ho capito il tuo discorso e hai ragione, ma io devo fare davvero poche cose, solo per divertirmi e fare pratica. se non faccio pratica non imparo. siccome uso irc so qualcosina e se ci sono le librerie basta leggere la doc e fare qualche prova. solo che quella libreria che hanno linkato prima è per python 2.4 o inferiore e altre librerie non ne trovo. non so quindi come fare a mano il tutto, con i socket, anche perchè ho trovato dei codici in rete che usano i socket, ma non funzionano per niente.

edit: mi ha risposto chi ha fatto il bot, mi ha detto che lo ha fatto a mano perchè le operazioni che fa sono poche e non ha letto le specifiche del protocollo irc. ora vorrei farlo pure io. spero mi possa aiutare qualcuno.

Ultima modifica di ratman511 : 23-02-2010 alle 18:07.
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 18:35   #17
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2773
Comunque che io sappia ci sono client IRC (io conosco solo mIRC, ma non è che me ne intenda, anzi...) che offrono un linguaggio di scripting con cui credo si possano scrivere anche bot.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 19:43   #18
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
si lo so, ma non mi interessa questo.
allora, vi dico cosa sto provando a fare anche guardando in rete.

uso xchat di solito cosi ho preso da li le informazioni sul server, la porta dove si collega ecc. il server è freenode, la porta 8001. io creo un socket, lo collego al server e alla porta e problemi non me ne dà. dopo questo devo dirgli l'user e il nick, cosi faccio una send() inviando una stringa "USER nome_user" e un'altra send con "NICK nick". però già qua ci sono i problemi perchè dai dati che ricevo non c'è traccia dell'avvenuta "registrazione".
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 20:32   #19
ratman511
Member
 
Iscritto dal: Nov 2009
Messaggi: 50
bakuriu avevi ragione!! sono felicissimo! sono riuscito a collegarmi DA SOLO senza aiuto di nessuno e seguendo la rfc (grazie mad). non davo tutti i parametri ad USER. però non capisco una cosa:

Quote:
Note that hostname and servername are normally ignored by the IRC server when the USER command comes from a directly connected client
io non dovrei essere un client? perchè vuole tutti questi parametri? io poi hostname e servername li ho messi a caso, che cosa rappresentano?
ora comunque ho altri problemi da risolvere. sono riuscito a collegarmi, ma il prossimo passo è tenere sempre il bot collegato e parsare tutti i messaggi. ho visto che i messaggi scritti in chan sono PRIVMSG, però la riga è confusionaria. come separo nick di chi scrive e messaggio, tralasciando tutto il resto? qualcuno mi aiuta?
ratman511 è offline   Rispondi citando il messaggio o parte di esso
Old 23-02-2010, 20:34   #20
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2773
Quote:
Originariamente inviato da ratman511 Guarda i messaggi
bakuriu
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Dopo un mese, e 50 foto, cosa abbiamo capito della nuova Nintendo Switch 2 Dopo un mese, e 50 foto, cosa abbiamo capito del...
Gigabyte Aero X16 Copilot+ PC: tanta potenza non solo per l'IA Gigabyte Aero X16 Copilot+ PC: tanta potenza non...
Finalmente rilevata la stella compagna d...
UBTech Walker S2: il robot umanoide cine...
Musk guarda ai più piccoli: in ar...
The Witcher 3 su RISC-V? Ora è po...
Il segreto per lavorare meglio? È...
Mini PC con 16GB RAM e 512GB SSD a poco ...
Radeon RX 9000: questa app gratuita cons...
Windows 11 supporterà la condivis...
Synology DS725+: connettività 2.5...
Microsoft vuole dire addio ai problemi d...
I giocatori si divertono a spendere di p...
Il monopattino che punta a battere il re...
Apple e crittografia, Londra verso la re...
Trump pubblica video con Obama arrestato...
A Vienna consegne postali completamente ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 22:00.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v