【问题标题】:mIRC link protection scriptmIRC 链接保护脚本
【发布时间】:2014-08-23 21:50:07
【问题描述】:

我目前正在使用以下脚本来防止任何人在未获得任何权限的情况下在 Twitch 聊天中发布链接。

on @*:text:*:#:linkpost $1-
on @*:action:*:#:linkpost $1-
on @*:notice:*:#:linkpost $1-
alias -l linkpost {
  if ((!%p) && (!$hfind(permit,$nick))) { inc -u4 %p
    var %purge /^!(link\so(n|ff)|(permit))\b/iS
    var %domain com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk
    var %link /(?<=^|\s)((?>\S{3,8}:\/\/|w{3}\56)\S+)|\56( $+ %domain $+ )\b/iS
    if ($findtok(%chanon1,#,1,32)) && ($nick(#,$nick,vr)) && ($regex($1-,%link)) {
      timeout 30 # $nick | /mode # -b $nick
      msg # $nick You did not have permission to post a link ask a mod to !permit you
      msg # /timeout $nick 1
    }
    elseif (($regex($1-,%purge)) && ($regml(1) = permit) && ($nick isop #) && ($$2 ison #)) {
      hadd -mz permit $v1 30 | notice $v1 You have 30 seconds to post a link. Starting now!
      msg # You now have 30 seconds to post a link!
    }
    elseif (($regml(1) = link on) && ($nick isop #)) {
      goto $iif(!$istok(%chanon1,#,32),a,b) | :a | set %chanon1 $addtok(%chanon,#,32)
      .msg # Link Protection Is Now on in: $+($chr(2),#)
      halt | :b | .msg # $nick $+ , my link protection is already on in $&
        $+($chr(2),#,$chr(2)) !
    }
    elseif (($regml(1) = link off) && ($nick isop #)) {
      goto $iif($istok(%chanon1,#,32),c,d) | :c | set %chanon1 $remtok(%chanon,#,1,32)
      .msg # Link Protection Is Now off in: $+($chr(2),#)
      halt | :d | .msg # $nick $+ , My link protection is already off . $&
        !
    }
  }
}

我想知道是否有人可以帮助我将例外添加到将被阻止的网站列表中。我想添加 Youtube.com 和 Imgur.com 例外,即没有人需要获得发布这些链接的权限。

我怎样才能做到这一点?

谢谢!

编辑:

感谢@Sirius_Black 的帮助。

如果我希望权限消息实际上是指被允许的人,我将如何去做?

即而不是仅仅说“你有 30 秒的时间来发布链接”,我希望它说“,你有 30 秒的时间来发布链接”。

【问题讨论】:

  • Jethro 给你这个剧本了吗?
  • 如果是,他可能会向您解释为什么您必须输入两次 !link off 才能关闭脚本

标签: spam-prevention mirc


【解决方案1】:

用这个

on @*:text:*:#:linkpost $1-
on @*:action:*:#:linkpost $1-
on @*:notice:*:#:linkpost $1-
alias -l linkpost {
if ((!%p) && (!$hfind(permit,$nick))) { inc -u4 %p
var %purge /^!(link\so(n|ff)|(permit))\b/iS
var %domain com|edu|gov|mil|net|org|biz|info|name|museum|us|ca|uk
var %exception /(?:https?:\/\/)?w{3}\.(youtube|imgur)\.com/
var %link /(?<=^|\s)((?>\S{3,8}:\/\/|w{3}\56)\S+)|\56( $+ %domain $+ )\b/iS
if ($findtok(%chanon1,#,1,32)) && ($nick(#,$nick,vr)) && ($regex($1-,%link)) && (!$regex($1-,%exception)) {
  timeout 30 # $nick | /mode # -b $nick
  msg # $nick You did not have permission to post a link ask a mod to !permit you
  msg # /timeout $nick 1
}
elseif (($regex($1-,%purge)) && ($regml(1) = permit) && ($nick isop #) && ($$2 ison  #)) {
  hadd -mz permit $v1 30 | notice $v1 You have 30 seconds to post a link. Starting now!
  msg # You now have 30 seconds to post a link!
}
elseif (($regml(1) = link on) && ($nick isop #)) {
  goto $iif(!$istok(%chanon1,#,32),a,b) | :a | set %chanon1 $addtok(%chanon,#,32)
  .msg # Link Protection Is Now on in: $+($chr(2),#)
  halt | :b | .msg # $nick $+ , my link protection is already on in $&
    $+($chr(2),#,$chr(2)) !
}
elseif (($regml(1) = link off) && ($nick isop #)) {
  goto $iif($istok(%chanon1,#,32),c,d) | :c | set %chanon1 $remtok(%chanon,#,1,32)
  .msg # Link Protection Is Now off in: $+($chr(2),#)
  halt | :d | .msg # $nick $+ , My link protection is already off . $&
    !
}
}
}

【讨论】:

  • 您好!非常感谢。我将使用它,看看它是否有效。我不确定 Jethro 是谁,但我看到了我在 youtube 的“教程”上发布的脚本。它确实有效,但有时它似乎有问题。是的,我偶尔会遇到链接关闭和链接打开命令的问题。但我确实注意到这是因为名为 %p 的变量不断出现并延迟脚本正常工作。我必须等待该变量取消设置,然后才能开始工作。轻微的烦恼,但没什么大不了的。
  • 这个脚本有问题,因为 %p 被用作防洪,当你输入 !link on 时,ppl 有 4 秒的时间发布任何链接,当有人发布链接时,它会设置 %p再次,所以人们又有 4 秒的时间来发布任何内容
  • 啊,有道理。有没有办法解决这个问题?还是我只能忍受?
  • 感谢@Sirius_Black 的帮助。如果我希望权限消息实际上是指被允许的人,我将如何去做?即,我希望它说“,你有 30 秒的时间来发布链接”,而不是仅仅说“你有 30 秒的时间来发布链接”。
  • @vika09 首先你必须接受我的回答,如果它有效,然后你可以发布另一个问题,或者我会在这里回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多