一个简单的irc通知机器人。

kaoz的Python项目详细描述


https://travis-ci.org/BinetReseau/Kaoz.png?branch=master

一般用途

Kaoz是IRC的免费通知程序。它的目的是为系统管理员提供一种易于使用的方式,以便在任何choosen irc频道上发送警告和日志。 因此,它使用一个持久守护进程,稍后称为server,它将监听给定端口,可选地启用ssl。 服务器要求行的格式为password:channel:message,如secret:#help:Hellopassword是使用服务所需的全局密码。 channel是配置网络上的IRC通道。(Kaoz将加入频道)。 client是连接到服务器以在irc上发送消息的应用程序。 请注意,如果您想要拒绝许多服务器的通知,您可能只有一个kaoz服务器,但您应该增加客户端。

许可证

Kaoz是根据麻省理工学院的许可证提供的。有关详细信息,请参阅许可证文件。

依赖关系

服务器的安装

首先,将配置复制到您选择的位置,例如/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种颜色:

  1. 黑色
  2. 海军蓝
  3. 绿色
  4. 红色
  5. 棕色
  6. 紫色
  7. 橄榄色
  8. 黄色
  9. 青柠
  10. 青色
  11. 浅绿色灯
  12. 皇家蓝
  13. 粉红色
  14. 深灰色
  15. 浅灰色
  16. 白色

例如,^C2Hello用蓝色写hello。

联系人

考兹由法国爱科尔理工学院的学生协会binet réseau提供。 如果你如有任何疑问、意见或建议,请致电br@eleves.polytechnique.fr

       ________________
     _/ ______________ \_
   _/ _/              \_ \
  / _/   ____    ____   \ \
 / /    / __ \  / __ \   | |
/ /    / /_/ / / /_/ /   | |
| |   / _, <  / _, _/    | |
| |  / /_/ / / / | |     | |
| | /_____/ /_/  | |    / /
 \ \              \ \__/ /
  \ \_             \____/
   \_ \________________
     \________________/

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
playframework Play Framework 2.5表单对象bean(Java)中的依赖项注入   java从javascript触发小程序按钮   JavaGWT:如何创建我自己的异步方法?   对于JTA事务类型,java JPA更改不会持久化   java如何使用预定义的甲板类制作Black Jack游戏   带有数组的java HashMap find()   从Java中的另一个类接收对象数组的参数?   java IntelliJ错误:Scala 145,错误:scalac:找不到Scala编译器JAR   java Eclipse 404请求的资源不可用   java Chuck没有界限   java阅读行每隔一行跳过一行   java如何访问我的EAR部署信息   Java中的正则表达式,其中执行搜索的文本是动态变化的   java我需要优化BigInteger的toString()方法   java Google Map Api V2,自定义路线标记   java如何在Java8中与LocalDate实现更少的需求和更高的质量   EclipseUML插件生成Java源代码   将数据库列绑定到java jComboBox和JList   java如何将两个图像合并为PDF