如何以一种比较自动化的方式,将同一条私信发送给IRC频道房间里的所有用户,也就是说,不需要为所有用户逐个手动发送私信,也不需要在通道室里发布私信。当然,要明智地使用它。
发布于 2012-12-06 02:42:20
正如您在描述IRC协议的RFC 1459中所看到的,私有消息在技术上与通道消息没有什么不同。这两个都是PRIVMSG命令的结果。
PRIVMSG命令允许任何客户端使用以下语法向多个收件人发送消息:
用于users
PRIVMSG #help,#home[,#irc] :Hi there和channels
PRIVMSG foo,bar[,anon] :Hi there应该也可以混用。因此,基本上,单个目标必须是通道或用户。
据我所知,没有办法做到这一点,因为每个目标都必须在命令的第一个参数中定义。
发布于 2013-09-09 01:07:13
这取决于您的网络。一些网络支持wallmsg,它在许多IRC客户端上作为用户的私人消息工作。这是在efnet上实现的,例如,通过向@#channel发送消息,然后它将该消息分发给所有通道操作。同样使用+向所有语音用户发送消息。不幸的是,这对非操作/语音用户不起作用。这是通过执行PRIVMSG @#channel :Hi!来实现的
为了能够做到这一点,以一种自动化的方式,你需要编写一个简单的脚本(这对你没有帮助,你还没有声明你的客户端),它循环所有用户,然后一个接一个地发送PRIVMSG给他们,或者以像PRIVMSG user1,user2,user3 :message那样用逗号(没有空格)分隔用户的群发消息模式。
您最可能需要的是后一种选择。不过,要小心你的洪水阈值!
发布于 2018-07-18 00:42:59
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 | } 我在我的网络上使用它与op all和deop all或kick all一起使用
https://stackoverflow.com/questions/13701298
复制相似问题