我在找一种方法来赶走洪水的使用者。这样做的目的是:
on [lessthanhalfop]:text:*:#chan: {
If [timer$nick] !== 0 {
set %kickstate$nick +1
if %kickstate$nick < 4 {
kick $nick #chan [reason:flood]
echo > kickedlist.txt
delete [timer$nick]
delete [timer$nick]
makenew timer with 4 seconds
}
Set timer$nick 5seconds
}有人能帮我解决这个问题吗?这样就可以为每个$nick提供唯一的定时器,这样他们就不会对每个用户都过度了。我想要做的就是在特定的时间内(在本例中是2秒)输入大量聊天内容的人。有人能帮我解决这个问题吗?
我用的是mIRC,但如果有人想知道,频道就在迅捷网络中。
发布于 2013-05-02 09:52:19
解决方案:
答:我们正在以"cTxtFlood.USER-ADDRESS“格式设置变量和增量(生存期为2秒)。这使我们能够追踪我们系统中的每一个新的洪水者+它将清洗那些说话的人,而不是洪水者。
B.我们正在检查可变计数器是否超过X行(示例中为5行)
如果洪水泛滥,那么我们将以300秒的时间禁止和踢用户。
小信息:
陈-你想保护的频道
@* -只有当我在频道上有行动的时候
-u2 = unset变量在2秒内
-ku300 =踢和禁300秒
完整代码(未经测试)
on @*:text:*:#chan: {
inc -u2 % [ $+ [ $+(cTxtFlood.,$wildsite) ] ]
if (% [ $+ [ $+(cTxtFlood.,$wildsite) ] ] == 5) {
echo -ag ban -ku300 # $nick 2 Channel Flood Protection (5 lines at 2 sec's)
}
}https://stackoverflow.com/questions/16224713
复制相似问题