简单的Python IRC bot,用于向频道报告

时间:2014-08-12 07:24:07

标签: python bots irc

我试图找出在IRC频道中报告某些数据的最简单方法。我的机器人不需要接收任何命令或处理任何输入。它只是收集数据并将其输出到IRC频道的不同程序的一部分。我查看了O'Reilly处的代码,并想知道是否可以跳过while部分。然而,没有什么能保持机器人活着并且总是登录。我如何保持登录并基本上剥离接收处理代码?

编辑:我也看过威利,但对于我想要的用例来说,这似乎是可怕的。是否有任何可以用于IRC通信的精简版本?

2 个答案:

答案 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的原因。它将处理必要的读取以使您进入通道并保持连接活动,但可以异步发送消息。试试吧!