繁体   English   中英

Python中的IRC客户端; 不是IRC Bot

[英]IRC Client in Python; not a IRC Bot

我对此进行了广泛的搜索,只提出了特定于机器人的客户端。 我知道它们基本相同,但是对于我想做的事情,我只是想不通。

我正在尝试编写一个python客户端,表面上它是简单的。 例如,从命令行运行时,它将立即建立不可见的连接,并在建立连接后显示“ say:”。 (已经设置了用户名,服务器等)。它将等到用户按下-return / enter-之后,它将发送消息,然后检索已记录到数组的消息并打印最后8行/ array值。

因此,用户将仅在频道上看到消息,并且能够发送消息。 我的问题是弄清楚如何去除邮件中的所有内容。 如果我想让某人为我做这件事,我感到非常抱歉。 我看了又看,但我不知道。 我必须使用IRC模块吗? 我很确定我最终会以某种方式使用正则表达式,但是我很困惑。 谢谢大家阅读我的愚蠢问题!

import sys
import socket
import string

HOST="irc.freenode.net"
PORT=6667
NICK="MauBot"
IDENT="maubot"
REALNAME="MauritsBot"
readbuffer=""

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

while 1:
    readbuffer=readbuffer+s.recv(1024)
    temp=string.split(readbuffer, "\n")
    readbuffer=temp.pop( )

    for line in temp:
        line=string.rstrip(line)
        line=string.split(line)

        if(line[0]=="PING"):
            s.send("PONG %s\r\n" % line[1])

您可以使用Telnet连接到IRC服务器。
Python中有一些库可以完成此任务。

有关更多信息,请参见以下链接:

> Python Telnet连接

> 在Python中使用Telnet

> Python Doco:20.14。 telnetlib — Telnet客户端

连接到IRC服务器后,您可以:

  1. 输出在telnet会话中需要执行的任何命令(例如登录凭据)。
  2. 加入频道。
  3. 写出所需的行。

暂无
暂无

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

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