【问题标题】:MIRC anti-flood scriptMIRC 防洪脚本
【发布时间】:2013-04-19 22:27:24
【问题描述】:

我正在寻找一种将用户踢出洪水的方法。 这个想法是:

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 网络中,如果有人想知道的话。

【问题讨论】:

    标签: bots mirc flooding


    【解决方案1】:

    解决方案:
    A. 我们正在使用以下格式“cTxtFlood.USER-ADDRESS”设置一个变量和增量(2 秒的生存期)。这使我们能够在我们的系统中跟踪每一个新的洪水 + 它会清理那些说话但不是洪水的人。

    B.我们正在检查变量计数器是否超过 X 行(示例中为 5)

    C.如果泛滥,那么我们会以 300 秒的禁令跨度禁止和踢用户。

    小信息:

    chan - 您要保护的频道

    @* - 仅当我在该频道获得操作时
    -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)
      }
    }
    

    【讨论】:

    • 请注意,当与其他脚本一起放置在文件中时,此脚本会执行某些操作。如果放置在任何其他on *:text:... 触发器之上,它将阻止其他触发器关闭。原因是 mIRC 搜索每个文件,直到找到将触发的脚本,然后停止搜索该文件。 on *:text:*:#chan ... 将触发频道中的 any 文本,因此始终匹配。对此的解决方案是将其放在单独的文件中,或者至少将其放在文件的底部。其中两个触发器永远不能在同一个文件中。
    猜你喜欢
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    相关资源
    最近更新 更多