我试图找出在IRC频道中报告某些数据的最简单方法。我的机器人不需要接收任何命令或处理任何输入。它只是收集数据并将其输出到IRC频道的不同程序的一部分。我查看了O'Reilly处的代码,并想知道是否可以跳过while
部分。然而,没有什么能保持机器人活着并且总是登录。我如何保持登录并基本上剥离接收处理代码?
编辑:我也看过威利,但对于我想要的用例来说,这似乎是可怕的。是否有任何可以用于IRC通信的精简版本?
答案 0 :(得分:0)
您需要多久发送一次数据? 如果不是这样,你可以这样做:
import sys
import socket
import string
HOST="irc.freenode.net"
PORT=6667
NICK="MauBot"
IDENT="maubot"
REALNAME="MauritsBot"
def sendData(dataString):
s=socket.socket( )
s.connect((HOST, PORT))
s.send("NICK %s\r\n" % NICK)
s.send("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME))
s.send("%s\r\n" % dataString)
s.close()
每当您从另一个skrip获得新数据时,您可以调用sendData函数并将数据作为字符串传递。模具功能打开套接字发送数据并关闭套接字。
答案 1 :(得分:0)
这正是我写simple_irc的原因。它将处理必要的读取以使您进入通道并保持连接活动,但可以异步发送消息。试试吧!