IRC er en tekst chat program først utviklet i 1988 . Mens datateknologi har lenge gått IRC by , mange IRC -servere eksisterer med hundrevis av brukere å diskutere temaer og deling av informasjon . En måte at brukerne koble seg til IRC er ved hjelp av "bots" som leser tekst fra en IRC -kanal og utfører oppgaver basert på hva den leser . En bot kan reagere på visse meldinger som inneholder bestemte søkeord , eller det kan rett og slett sitte stille og lagre samtaler til fil . En måte å skape en IRC bot er gjennom programmeringsspråket Python , og bruker sin " socket" bibliotek for Internett-kommunikasjon. Du trenger
Python tolk
Vis flere instruksjoner
en
Importer socket bibliotek og sette opp forbindelse variabler . Forutsatt at du allerede har foretrukne IRC legitimasjon for boten , vil Python IRC bot bruke disse legitimasjon for å logge inn med " kontakter " bibliotek . Følgende eksempel viser hvordan du skal legge ut variabler som skal brukes for påloggingsinformasjon , inkludert verdier for IRC server, tilkobling port , og Bot brukerinformasjon :
# /usr /bin /python
< p ! > import socket
import string
host = ' example.host.org '
port = 6667
nick = ' pythonbot3000 '
< p> ident = ' PyBot '
realname = ' Bobby '
lese = ' '
2
bruk " socket " for å koble til serveren . Forutsatt at serveren er " example.host.org , " bruke en socket objekt for å opprette forbindelsen . I dette eksemplet oppretter kontakten objekt, " irc_sock , " og bruke den til å koble til serveren og sende påloggingsinformasjonen : en
irc_sock = socket.socket ( )
irc_sock.connect ( host , port)
irc_sock.send (' NICK ' + nick + '\\ r \\ n' )
irc_sock.send (' bruker' + ident + '' + host + ' bla : '+ realname + ' n ' )
3
Koble til en kanal og lese tekst . Hvis du vil ha boten bli med kanal " Eksempel ", deretter bruke " finne "-metoden for en streng hentet fra IRC -server for å sjekke status på tilkoblingen. Delta i en kanal og begynne å lese og skrive meldinger , som illustrert i følgende kode :
mens 1: //uendelig løkke å holde samle tekst
avlest = irc_sock.recv ( 500 ) //blir tekstlinje
print lese //skriver den
hvis read.find (' Generic Intro Message ' ) = -1 : //hvis serveren intro melding, delta i en kanal
irc_sock.send (' BLI ' + eksempel + '\\ r \\ n' )