我正在寻找一种方法来踢用户的洪水。思路是:
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,但通道是在swiftirc网络,如果有人想知道。
解决方案:
a .我们正在设置一个变量和增量(2秒的活动跨度),格式如下"cTxtFlood.USER-ADDRESS"。这使我们能够跟踪我们系统中的每一个新的洪水+它将清除说话的人,而不是洪水。
B。我们正在检查变量计数器是否超过X行(在示例中为5行)
C。如果泛滥,那么我们将禁止并踢用户,禁令跨度为300秒。
小提示:
@* -仅当我在通道
处获得op时-u2 = 2秒内取消设置变量
Ban -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)
}
}