저는 파이썬에서 간단한 IRC 봇을 코딩하고 있습니다. 실제로 특정 채널에 연결하고 메시지를 읽고 응답을 보낼 수 있지만 채널 메시지와 개인 메시지를 구별 할 수는 없습니다.Python IRC Bot, 채널 메시지 및 개인 메시지와 구별
예 :
요한은, 동일한 채널에 연결! "안녕하세요 말"처럼 봇의 채팅에 개인 메시지를 보내; 봇이 동일한 비공개 채팅에 "hello"를 보내야하며 John에게만 보내야합니다.
대신 봇이 채널의 보드에서 "! say hello"를 읽을 때 채널에 "hello"를 보내야합니다.
내 코드 :
ircmsg = connection.ircsock.recv(2048)
ircmsg_clean = ircmsg.strip(str.encode('\n\r'))
if ircmsg.find(str.encode("!say")) != -1:
try:
parts = ircmsg_clean.split()
content = parts[4]
connection.sendMsg(channel, content)
except IndexError:
connection.sendMsg(channel, "Invalid syntax")
연결 파일 :
def sendPrivateMsg(username, msg):
ircsock.send(str.encode("PRIVMSG " + username + " :" + msg + "\n"))
을하지만에 있습니다
def sendmsg(channel, msg):
ircsock.send(str.encode("PRIVMSG " + channel +" :" + msg + "\n"))
내가 특정 사용자에게 메시지를 보내는 방법을 알고 메사가 어디 있는지 아십시오. 채널이나 사용자가 방문하여 적절한 응답을 보냅니다.
죄송합니다.