AnGelBot-Portal²

Normale Version: Ergänzung fürs AntiAd
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Code:
'===============================
'Erstellt mit [ABP]AVS 1.0.5
'AnGelBot Visual Scripting
'Visit us online @ http://www.angelbot-portal.de/
'===============================
'Programmiert von Sp33d
'===============================

Const INIFile_Chan = "ini_AntiAdChan.ini"
Const INIFile_User = "ini_AntiAdUser.ini"
Const Version = "AntiAd Script 1.0c by Sp33d"

Sub Init()
  Script Version
  AddCommand "adsetup", Cl_Mas, "+m", "2*** .adsetup <#channel>##  14Zeigt das Setup zum angegebenen Channel an."
  Hook "Chan_Msg"
  Hook "Commands"
End Sub

Sub Commands(vSock, RegUser, Flags, Line)
  If LCase(Param(Line, 1)) = ".adsetup" Then
    If Param(Line, 2) <> "" Then
      If Left(Param(Line, 2), 1) = "#" Then
        GrabUser vSock, "Anti-Ad Setup", "AntiAd"
        SetSockTag vSock, "~drawmenu~ " & Param(Line, 2)
        AntiAd vSock, RegUser, Flags, ""
      Else
        TU vSock, "5*** Usage: .adsetup <[+#&]channel>"
      End If
    Else
      TU vSock, "5*** Usage: .adsetup <[+#&]channel>"
    End If
  End If
End Sub

Sub AntiAd(vSock, RegUser, Flags, Line)
  If Param(Line, 1) = "0" Then
    If LCase(Param(GetSockTag(vSock), 1)) = "mainmenu" Then
      TU vsock, "10*** Saving settings..."
      ReleaseUser vSock
    ElseIf InStr(1, LCase(GetSockTag(vSock)), "submenu") > 0 Then
      SetSockTag vSock, "~drawmenu~"
      AntiAd vSock, RegUser, Flags, ""
    End If
    Exit Sub
  End If  

  Select Case LCase(Param(GetSockTag(vSock), 1))
    Case "~drawmenu~"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_______________2,1'​%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 Anti-Ad Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_______________2,1'​%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
      TU vSock, " "
      TU vSock, "Welcome to the setup of " & Version & "!"
      TU vSock, "Current settings for " & Param(GetSockTag(vSock), 2) & ":"
      TU vSock, " "
      TU vSock, "2 1) Anti-Ad14...: " & IIf(LCase(ReadINIString(Param(GetSockTag(vSock), 2), "Status", "", INIFile_Chan)) = "on", "3ON", "4OFF")
      TU vSock, "2 2) Kick ops14..: " & IIf(LCase(ReadINIString(Param(GetSockTag(vSock), 2), "KickOps", "", INIFile_Chan)) = "yes", "3YES", "4NO")
      TU vSock, " "
      TU vSock, "Enter a setting number or enter '0' to leave the setup."
      TU vSock, "You can use shortcuts like '1 yes' or '2 no'."
      SetSockTag vSock, "MainMenu " & Param(GetSockTag(vSock), 2)
    Case "mainmenu"
      Select Case Param(Line, 1)
        Case 1, 2
          If Left(Line, 1) = "." Then
            TU vSock, "5*** You can't use bot commands in phpBackend-Setup!"
            Exit Sub
          End If
          If Param(Line, 2) <> "" Then
            Select Case LCase(Param(Line, 1))
              Case 1
                If LCase(Param(Line, 2)) = "on" Then
                  WriteINIString Param(GetSockTag(vSock), 2), "Status", "on", INIFile_Chan
                  SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
                  AntiAd vSock, RegUser, Flags, ""
                ElseIf LCase(Param(Line, 2)) = "off" Then
                  WriteINIString Param(GetSockTag(vSock), 2), "Status", "off", INIFile_Chan
                  SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
                  AntiAd vSock, RegUser, Flags, ""
                Else
                  TU vSock, "5*** Please enter 'on' or 'off' after the setting number."
                  Exit Sub
                End If
              Case 2
                If LCase(Param(Line, 2)) = "yes" Then
                  WriteINIString Param(GetSockTag(vSock), 2), "KickOps", "yes", INIFile_Chan
                  SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
                  AntiAd vSock, RegUser, Flags, ""
                ElseIf LCase(Param(Line, 2)) = "no" Then
                  WriteINIString Param(GetSockTag(vSock), 2), "KickOps", "no", INIFile_Chan
                  SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 2)
                  AntiAd vSock, RegUser, Flags, ""
                Else
                  TU vSock, "5*** Please enter 'yes' or 'no' after the setting number."
                  Exit Sub
                End If
            End Select
          Else
            SetSockTag vSock, "~drawsubmenu~ " & Param(GetSockTag(vSock), 2)
            AntiAd vSock, RegUser, Flags, Param(Line, 1)
          End If
        Case Else
          TU vSock, "5*** Please enter a valid number."
      End Select
    Case "~drawsubmenu~"
      If Left(Line, 1) = "." Then
        TU vSock, "5*** You can't use bot commands in phpBackend-Setup!"
        Exit Sub
      End If
      Select Case Param(Line, 1)
        Case 1
          TU vSock, "21) 1Anti-Ad"
          TU vSock, "14    Specifies wheter the Ad-Protection is"
          TU vSock, "14    activated or not."
          TU vSock, ""
          TU vSock, "Choose wheter 'on' or 'off' to either activate or"
          TU vSock, "deactivate it, type '0' to cancel setup."
          SetSockTag vSock, "submenu 1 " & Param(GetSockTag(vSock), 2)
        Case 2
          TU vSock, "22) 1Kick-Ops"
          TU vSock, "14    Specifies wheter Anti-Ad is allowed to harm"
          TU vSock, "14    Ops as well."
          TU vSock, ""
          TU vSock, "Choose wheter 'yes' or 'no' to either activate or"
          TU vSock, "deactivate it, type '0' to cancel setup."
          SetSockTag vSock, "submenu 2 " & Param(GetSockTag(vSock), 2)
       End Select
    Case "submenu"
      Select Case Param(GetSockTag(vSock), 2)
        Case 1
          If LCase(Param(Line, 1)) = "on" Then
            WriteINIString Param(GetSockTag(vSock), 3), "Status", "on", INIFile_Chan
            SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
            AntiAd vSock, RegUser, Flags, ""
          ElseIf LCase(Param(Line, 1)) = "off" Then
            WriteINIString Param(GetSockTag(vSock), 3), "Status", "off", INIFile_Chan
            SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
            AntiAd vSock, RegUser, Flags, ""
          Else
            TU vSock, "5*** Please enter 'on', 'off' or '0'."
            Exit Sub
          End If
        Case 2
          If LCase(Param(Line, 1)) = "yes" Then
            WriteINIString Param(GetSockTag(vSock), 3), "KickOps", "yes", INIFile_Chan
            SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
            AntiAd vSock, RegUser, Flags, ""
          ElseIf LCase(Param(Line, 1)) = "no" Then
            WriteINIString Param(GetSockTag(vSock), 3), "KickOps", "no", INIFile_Chan
            SetSockTag vSock, "~drawmenu~ " & Param(GetSockTag(vSock), 3)
            AntiAd vSock, RegUser, Flags, ""
          Else
            TU vSock, "5*** Please enter 'yes', 'no' or '0'."
            Exit Sub
          End If
      End Select
  End Select
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  If ReadINIString(Chan, "Status", "", INIFile_Chan) = "on" Then
    If Instr(1, LCase(Line), "#") > 0 Or Instr(1, LCase(Line), "www.") > 0 Or Instr(1, LCase(Line), "http://") > 0 Then
      If MatchFlags(GetUserChanFlags(RegUser, Chan), "+f") Or MatchFlags(GetUserChanFlags(RegUser, Chan), "+b") Then
        SendLine "NOTICE " & Nick & " :No advertising on " & Chan & ", plz.", 1
        Exit Sub
      ElseIf IsOp(Nick, Chan) And ReadINIString(Chan, "KickOps", "yes", INIFile_Chan) = "no" then
        SendLine "NOTICE " & Nick & " :No advertising on " & Chan & "! [next time: warning]", 1
        Exit Sub
      End If
      Select Case ReadINIString(Nick, "Violations", "0", INIFile_User)
        Case "0"
          WriteINIString Nick, "Violations", "1", INIFile_User
          SendLine "NOTICE " & Nick & " :No advertising on " & Chan & "! [next time: kick]", 1
        Case "1"
          WriteINIString Nick, "Violations", "2", INIFile_User
          AddKick Chan, Nick, "No advertising on " & Chan & "! [next time: 1min temp-ban]"
        Case "2"
          WriteINIString Nick, "Violations", "3", INIFile_User
          TimedCommand "DoUnban " & Chr(34) & Chan & Chr(34) & ", " & Chr(34) & Mask(Hostmask(Chan, Nick), 2) & Chr(34), 60
          SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 2), 1
          AddKick Chan, Nick, "No advertising on " & Chan & "! [next time: 5min temp-ban]"
        Case "3"
          WriteINIString Nick, "Violations", "0", INIFile_User
          TimedCommand "DoUnban " & Chr(34) & Chan & Chr(34) & ", " & Chr(34) & Mask(Hostmask(Chan, Nick), 2) & Chr(34), 300
          SendLine "MODE " & Chan & " -o+b " & Nick & " " & Mask(Hostmask(Chan, Nick), 2), 1
          AddKick Chan, Nick, "No advertising on " & Chan & "! [next time: warning]"
      End Select
    End If
  End If
End Sub

Sub DoUnBan(Chan, Mask)
  SendLine "MODE " & Chan & " -b " & Mask, 1
End Sub

kann jemand das Script so erweitern, das man z.B. Channel und Urls vorgeben kann, bei denen nicht gekickt wird?
Ich schick das mal nach oben weil mir damit auch sehr geholfen wäre
Referenz-URLs