【发布时间】:2013-02-17 17:23:30
【问题描述】:
有谁知道如何编程:
- 将消息发送到特定的 IRC(Internet 中继聊天)频道?或
- 向频道中的所有用户发送消息?或
- 发送自动消息作为回复?
我习惯使用 PHP,但语言并不重要。
谢谢!
【问题讨论】:
有谁知道如何编程:
我习惯使用 PHP,但语言并不重要。
谢谢!
【问题讨论】:
您需要阅读 IRC 的 RFC,以便构建自己的客户端。
【讨论】:
你基本上需要:
您需要打开与 IRC 服务器的连接。通常使用fsockopen() 函数完成。
服务器需要两个命令,NICK 和 USER。请注意,服务器需要 \r\n 作为行尾(如果您不发送它,服务器将不会接受您的命令)。
发送这两个命令后,服务器会向您发送 ping。
:irc.servername.com PING :RANDOM-STRING
您必须使用PONG :RANDOM-STRING(相同的字符串)回复它。如果您不活动,服务器将定期发送这些信息。如果你没有回复,服务器会认为你已经死亡,并关闭连接。
连接阶段结束后(您可以告诉它,因为这样做时您会从服务器获得 001 命令),您加入频道。发送以下命令:
JOIN #channel-name
服务器会将您加入频道,向您发送 TOPIC 和 NAMES 列表。完成后,您已加入频道。
如果以上都正确,那么你只需要
PRIVMSG #channel-name :YOUR MESSAGE HERE
冒号后面的都是消息。
祝你好运! :)
【讨论】:
fwrite() 到连接处理程序通常可以完成这项工作。