如何以编程方式将消息发送到IRC频道

时间:2013-03-03 16:21:27

标签: php bots irc

有没有人知道如何以编程方式:

  • 将消息发送到特定的IRC(Internet Relay Chat)频道?或
  • 向频道中的所有用户发送消息?或
  • 发送自动留言作为回复?

我习惯使用PHP,但这并不重要。

谢谢!

2 个答案:

答案 0 :(得分:5)

你基本上需要:

  1. 连接到服务器。
  2. 加入频道。
  3. 将信息发送到频道。

  4. 连接

    您需要打开与IRC服务器的连接。通常使用fsockopen()函数完成。

    服务器需要两个命令NICKUSER。请注意,服务器期望\r\n作为行尾(如果您不发送它,服务器将不接受您的命令)。

    发送这两个命令后,服务器将向您发送ping。

    :irc.servername.com PING :RANDOM-STRING
    

    您必须使用PONG :RANDOM-STRING(相同字符串)回复它。如果您不活动,服务器将定期发送它们。如果您没有回复,服务器将认为您已经死亡,并关闭连接。

    加入频道

    连接阶段结束后(您可以告诉它,因为您从服务器获得001命令),您加入该频道。发送以下命令:

    JOIN #channel-name
    

    服务器会将您加入频道,向您发送TOPIC和NAMES列表。一旦结束,你就加入了频道。

    发送消息

    如果以上所有内容都正确无误,那么您需要的只是

    PRIVMSG #channel-name :YOUR MESSAGE HERE
    

    冒号之后的任何内容都是消息。


    祝你好运! :)

答案 1 :(得分:2)

您需要阅读IRC的RFC,以便建立自己的客户端。

请参阅http://www.irchelp.org/irchelp/rfc/rfc.html