如何向IRC频道中的所有用户发送私人消息?

时间:2012-12-04 10:55:37

标签: irc

如何以相当自动化的方式向IRC频道的会议室中的所有用户发送相同的私人消息,即,不必为所有用户逐个手动执行此操作,而无需在频道室。 明智地使用,当然。

3 个答案:

答案 0 :(得分:0)

正如您在描述IRC协议的RFC 1459中所看到的,私信在技术上与频道消息没有区别。两者都是PRIVMSG的结果 命令。

PRIVMSG命令允许任何客户端使用以下语法向多个收件人发送邮件:

    用户
  1. PRIVMSG foo,bar[,anon] :Hi there
  2. PRIVMSG #help,#home[,#irc] :Hi there for channels
  3. 那也应该混合起来。
  4. 基本上,单个目标必须是频道或用户。

    到目前为止,我没有办法做到这一点,因为每个目标都必须在命令的第一个参数中定义。

答案 1 :(得分:0)

这取决于您的网络。一些网络支持wallmsg,它在许多IRC客户端上作为私人消息提供给用户。这是在efnet上实现的,例如通过向@#通道发送消息,然后将消息分发给所有通道操作。同样使用+向所有有声用户发送消息。不幸的是,这对非操作/语音用户不起作用。这可以通过PRIVMSG @#channel :Hi!

来完成

为了能够以自动方式执行此操作,您需要编写一个简单的脚本(无法帮助您,您没有说明您的客户端),它会遍历所有用户,然后将PRIVMSG发送到它们是逐个或在群发邮件模式下,您可以用逗号(而不是空格)分隔用户,例如PRIVMSG user1,user2,user3 :message

很可能你想要后一种选择。不过要小心你的洪水阈值!

答案 2 :(得分:0)

You could add a line to your mirc popups nick list

...message all selected {%i = 0 | %nicks = "" | :nextnick | inc %i | if ($snick(#,%i) == $null) { if ($len(%nicks) > 0) /msg  %nicks $$?="message " | halt } | %nicks = %nicks $snick(#,%i) | if (4 // %i) { /msg  %nicks $$?="message " | %nicks = "" } | goto nextnick | } 

我将其与全部操作一起使用在我的网络上,然后全部撤消或全部踢出

相关问题