2

有谁知道如何以编程方式:

  • 将消息发送到特定的 IRC(Internet 中继聊天)频道 ? 或者
  • 向频道中的所有用户发送消息?或者
  • 发送自动消息作为回复?

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

谢谢 !

4

2 回答 2

8

你基本上需要:

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

连接

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

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

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

:irc.servername.com PING :RANDOM-STRING

您必须使用PONG :RANDOM-STRING(Same string) 回复它。如果您不活动,服务器将定期发送这些信息。如果你没有回复,服务器会认为你已经死了,并关闭连接。

加入频道

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

JOIN #channel-name

服务器会将您加入频道,向您发送 TOPIC 和 NAMES 列表。完成后,您已加入频道。

发送消息

如果以上所有都正确,那么您所需要的就是

PRIVMSG #channel-name :YOUR MESSAGE HERE

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


祝你好运!:)

于 2013-03-03T16:35:58.873 回答
2

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

http://www.irchelp.org/protocol/rfc/

于 2013-03-03T16:22:39.570 回答