2013년 4월 3일 수요일

[Python] IRC 봇 예제


요즘은 거의 사용되지 않는 IRC 채팅 서버 봇 예제입니다.

python 의 socket 을 통해 쉽게 구현하실 수 있습니다.

IRC 프로토콜이 그다지 어렵지 않기 때문에 IRC 서버의 채널에 접속하신 후에는

prefix 구분을 통해 여러가지 행동을 하는 봇을 쉽게 만드실 수 있을겁니다 :)

import socket
import requests
import time

network = '호스트 주소'
port = 6667
prefix = '~'

# 소켓 생성
irc = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
# 소켓 호스트와 연결
irc.connect ((network, port))
# 리턴값 출력
print irc.recv (4096)

# irc에서 사용할 닉네임 설정
irc.send ('NICK pythonbot'+str(j)+'\n')
irc.send ('USER python'+str(j)+' python python :python bot\n')

# 채널 접속
irc.send ( 'JOIN #접속하고자_하는_채널_이름\r\n' )

# 접속 후 irc 채널에서 메세지 입
irc.send ('PRIVMSG #hexa :Hi, hexa\n')

while True:
 # 채널로부터 데이터를 받은 경우
 data = irc.recv (4096)

 # 받은 데이터가 메세지일 경우, 데이터를 split 해서 출력
 data.find ( 'PRIVMSG' ) != -1:
      nick = data.split ( '!' ) [ 0 ].replace ( ':', '' )
      message = ':'.join ( data.split ( ':' ) [ 2: ] )
      print nick + ':', message 

댓글 없음:

댓글 쓰기