一个简单的irc通知机器人。
kaoz的Python项目详细描述
一般用途
Kaoz是IRC的免费通知程序。它的目的是为系统管理员提供一种易于使用的方式,以便在任何choosen irc频道上发送警告和日志。 因此,它使用一个持久守护进程,稍后称为server,它将监听给定端口,可选地启用ssl。 服务器要求行的格式为password:channel:message,如secret:#help:Hello。 password是使用服务所需的全局密码。 channel是配置网络上的IRC通道。(Kaoz将加入频道)。 client是连接到服务器以在irc上发送消息的应用程序。 请注意,如果您想要拒绝许多服务器的通知,您可能只有一个kaoz服务器,但您应该增加客户端。
许可证
Kaoz是根据麻省理工学院的许可证提供的。有关详细信息,请参阅许可证文件。
依赖关系
- Python
- python ssl模块(如果您希望使用ssl)
- python irc库(https://bitbucket.org/jaraco/irc)
服务器的安装
首先,将配置复制到您选择的位置,例如/etc/kaoz.conf。 然后编辑kaoz.conf文件,为irc服务器和侦听套接字提供正确的值。 守护进程是用bin/kaoz程序启动的。 为了您的兴趣,initd/kaoz中有一个gentooinit.d文件。 应该很容易找到如何使此文件适应您的发行版。
已知限制
- Kaoz不支持密钥保护通道。
Kaoz客户示例
向IRC发送消息
以下是一些使用kaoz服务器将Hello发送到频道#help的方法,该服务器侦听主机myhost端口4242,受密码保护secret。 为此,客户机需要向服务器发送secret:#help:Hello(根据需要,使用可选的lf或cr+lf)。
- 在shell中,对于没有ssl的简单服务器,请使用以下行之一:
echo"secret:#help:Hello"|netcat myhost 4242echo"secret:#help:Hello"|socat - TCP:myhost:4242
- 在shell中,对于使用ssl证书的服务器:
echo"secret:#help:Hello"|socat - OPENSSL:myhost:4242
- 在shell中,对于使用ssl证书和可信授权证书文件(ca文件)的服务器:
echo"secret:#help:Hello"|socat - OPENSSL:myhost:4242,verify,cafile=myca.crt
- 在没有ssl的python中:
importsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.connect(('myhost',4242))sock.sendall('%s:%s:%s'%('secret','#help','Hello'))sock.close()
- 在带有ssl的python中:
importsocketimportsslsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.connect(('myhost',4242))# use these options to check CA: cert_reqs=ssl.CERT_REQUIRED, certfile='myca.crt'sock=ssl.wrap_socket(self.sock)sock.sendall('%s:%s:%s'%('secret','#help','Hello'))sock.close()
kaoz服务器支持多行消息,只要每行以密码和通道开头。
向koaz发送命令
kaoz服务器还接受基本的命令,这些命令使其能够进行监视。 当客户端想要在服务器上运行command时,她需要发送secret::command,服务器直接在套接字中应答。 它是命令的双冒号,而不是要发送给irc的消息。
支持以下命令(目前只有一个):
- channels:获取服务器加入的频道列表。
关于IRC样式和颜色
一些控制序列允许irc用户编写具有样式和颜色的消息(^X表示Ctrl+X):
- ^B(=x02)粗体文本
- ^C(=x03)彩色文本
- ^O(=x0f)返回原始纯文本
- ^R(=x16)反转文本
- ^_(=x1f)带下划线的文本
有16种颜色:
- 黑色
- 海军蓝
- 绿色
- 红色
- 棕色
- 紫色
- 橄榄色
- 黄色
- 青柠
- 青色
- 浅绿色灯
- 皇家蓝
- 粉红色
- 深灰色
- 浅灰色
- 白色
例如,^C2Hello用蓝色写hello。
联系人
考兹由法国爱科尔理工学院的学生协会binet réseau提供。 如果你如有任何疑问、意见或建议,请致电br@eleves.polytechnique.fr
________________ _/ ______________ \_ _/ _/ \_ \ / _/ ____ ____ \ \ / / / __ \ / __ \ | | / / / /_/ / / /_/ / | | | | / _, < / _, _/ | | | | / /_/ / / / | | | | | | /_____/ /_/ | | / / \ \ \ \__/ / \ \_ \____/ \_ \________________ \________________/