繁体   English   中英

用于向渠道报告的简单Python IRC机器人

[英]Simple Python IRC bot for reporting to a channel

我试图找出最简单的方法来报告IRC通道中的一些数据。 我的机器人不需要接收任何命令或处理任何输入。 它只是另一个程序的一部分,该程序收集数据并将其输出到IRC通道。 我查看了O'Reilly的代码,想知道是否可以跳过while部分。 但是,没有任何东西可以使Bot保持活动状态并始终保持登录状态。我如何保持其登录状态并基本上删除接收处理代码?

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

您需要多久发送一次数据? 如果不是那么经常,您可以这样做:

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()

每当您从另一个笔录获得新数据时,都可以调用sendData函数并将数据作为字符串传递。 模具功能打开套接字发送数据并关闭套接字。

这就是为什么我写了simple_irc 它会处理必要的阅读,以使您进入频道并保持连接状态,但可以异步发送消息。 试试看!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM