【问题标题】:Where to start when writing very simple irc bot? [closed]编写非常简单的 irc bot 时从哪里开始? [关闭]
【发布时间】:2012-07-22 13:05:48
【问题描述】:

我正在尝试在 python 中制作一个非常简单的 irc 机器人,但不知道如何使用套接字来做到这一点。 我唯一想要的是:连接到 irc 服务器,设置昵称(和名称),加入频道,并向 irc 频道写一条消息。

谁能带领我走向正确的方向或代码的小例子?

import socket

name = raw_input("Enter your name: ")
nick = raw_input("IRC Handle: ")

irc_serv = "irc.freenode.net"
port = 6667
conn = socket.socket()
conn.connect((irc_serv, port))

conn.send("NICK "), nick
conn.send("NAME "), nick
conn.send("JOIN #king")
conn.send("PRIVMSG #king test message")

我运行它,输入姓名和昵称,但它没有加入频道(检查连接到频道的xchat)

【问题讨论】:

  • @J.Steen 我试过了,给我一秒钟,我会粘贴我目前所拥有的。
  • 具体问题。就像,为什么这个套接字没有连接,或者为什么我的编码返回不稳定的字符。 =)
  • 您实际上没有发送nickconn.send('NICK {}').format(nick) 可能是您想要的。我的 RFC1459 已经生锈了(我不得不写一个机器人已经 15 年了)
  • @JonClements 你的意思可能是conn.send('NICK {}'.format(nick))。但是,这是我会检查nick 的内容以防止恶意输入的地方。
  • IRC Python Bot: Best Way 的可能重复项

标签: python linux


【解决方案1】:

正如 J. Steen 指出的那样,您的问题对于本网站来说过于宽泛,没有单一的答案。

以下是一些入门建议:

您正在使用 python。 Python 有很多库可以帮助你做很多事情。首先尝试找出您需要的东西是否已经由某人完成。不要重新发明轮子。

在您的情况下,我可以将您指向具有 IRC 协议实现的 Twisted。 Twisted 是一个编写良好、维护良好、模块化和异步的框架,我建议你使用它。

Here is the Twisted IRC Client API Docmentation.

Here is an example IRC bot 使用 twised 实现。你可以先看看它。

看来你刚开始,所以我帮忙了,但下次你可以试试谷歌。本网站一般不支持用勺子喂食,建议用户在寻求帮助之前先在网站上尝试一下,这样可以更好地学习。

祝你项目好运。

PS:这个问题可能已经被问及回答here,更有理由你应该先搜索。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-29
    相关资源
    最近更新 更多