dsafq2131321 2013-03-03 16:21
浏览 20
已采纳

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

Does anyone know how to programatically:

  • Send messages to an specific IRC (Internet Relay Chat) channel ? or
  • Send a message to all users in a channel ? or
  • Send an automatic message as a reply ?

I'm accustomed to use PHP, but doesn't really matter the language.

Thank you !

  • 写回答

2条回答 默认 最新

  • douyanti2808 2013-03-03 16:35
    关注

    You basically need to:

    1. Connect to the server.
    2. Join the channel.
    3. Send the message to the channel.

    Connecting

    You need to open a connection to the IRC server. It's usually done with the fsockopen() function.

    The server expects two commands, NICK and USER. Note that the sever expects as a line-ending (if you don't send it, the server won't accept your commands).

    After those two commands are sent, the server will send you a ping.

    :irc.servername.com PING :RANDOM-STRING
    

    You must reply it with PONG :RANDOM-STRING (Same string). The server will periodically send those if you are not active. If you fail to reply, the server will assume you died, and close the connection.

    Joining the channel

    After connection phase is over (You can tell it because you'll get a 001 command from the server when you do), you join the channel. Send the following command:

    JOIN #channel-name
    

    The server will join you to the channel, send you the TOPIC and the NAMES list. Once that's over, you've joined the channel.

    Sending the message

    If all of the above went correctly, all you need is

    PRIVMSG #channel-name :YOUR MESSAGE HERE
    

    Anything after the colon is the message.


    Good luck! :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100