AnGelBot-Portal²

Normale Version: Channel Commands
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
So ich habe mal mein Channel Command Script etwas erweitert und meinen wünschen angepasst Smile

Code:
Sub Init()
  Script "Channel commands 1.1c by Strucky"
  SpreadFlagMessage 0, "+m", "7*** Channel Commands 1.1c by StRuCkY loaded ( #StRuCkY )"
  SpreadFlagMessage 0, "+m", "7*** Beachte man braucht das autoDeVoice script von Sp33d. Du kannst es dir saugen auf www.Angelbot-Portal.de"
  Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    Select Case LCase(Param(Line, 1))
      Case "!op"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & Param(Line, 2), 1
        End If
      Case "!deop"
          If Param(Line, 2) = "" Then
         SendLine "MODE " & Chan & " -o " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -o " & Param(Line, 2), 1
          End If
        End If
    Case "!voice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " +v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
      End If
    Case "!devoice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " -v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
      End If
    Case "!+m"
        SendLine "Mode " & Chan & " +m ", 2
    Case "!-m"
        SendLine "Mode " & Chan & " -m ", 2  
    Case "!+c"
        SendLine "Mode " & Chan & " +c ", 2
    Case "!-c"
        SendLine "Mode " & Chan & " -c ", 2
    Case "!+notice"
        SendLine "Mode " & Chan & " +N ", 2
    Case "!-notice"
        SendLine "Mode " & Chan & " -N ", 2
    Case "!+n"
        SendLine "Mode " & Chan & " +n ", 2
    Case "!-n"
        SendLine "Mode " & Chan & " -n ", 2
    Case "!+i"
        SendLine "Mode " & Chan & " +i ", 2
    Case "!-i"
        SendLine "Mode " & Chan & " -i ", 2
    Case "!vip"
      If Param(Line, 2) = "" Then
        SendLine "NOTICE " & Nick & " :Bitte eine kategroie von VIP auswaehlen", 2
        SendLine "NOTICE " & Nick & " :Volgende Kategorien stehen zu auswahlt: AutoOp, AutoVoice, AutoDeOp, AutoDeVoice, Autokick...", 2
       ElseIf Param(Line, 2) = "autovoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fv " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autoop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fa " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodeop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +d " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodevoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +D " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeVoice-Vip Liste hinzugefügt", 2
       End If
    Case "!delvip"
     If Param(Line, 2) = "" Then
       SendLine "NOTICE " & Nick & " :Bitte einen Nick angeben =)", 2
      Else
        ExecuteCommand 0, ".remuser " & Param(Line, 2)
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 2) & " Wurde erfolgreich aus meiner Vip Liste gelöscht", 2
     End If
      Case "!massvoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " +v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massdevoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          SendLine "MODE " & Chan & " +o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
        Next
      Case "!massdeop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
    End Select
  End IF
End Sub

Es funktioniert ohne Probleme Smile

Tiggers:
!op = um dich zu Oppen
!op <nick> = um ´<nick> zu deopen
!deop = um dich zu deopen
!deop <nick> = um <nick> zu deopen
!voice = um dich zu voicen
!voice <nick> = <nick> voicen
!devoice = dich devoicen
!devoice <nick> = <nick devoicen
!+m = Channelflag +m setzen
!-m = Channelflag -m
!+c = Channelflag +c
!-c = Channelflag -c
!+notice = Channelflag +N
!-notice = Channelflag -N
!+n = Channelflag +n
!-n = Channelflag -n
!+i = Channelflag +i
!-i = Channelflag -i
!vip AutoOp <nick> = <nick> in die AutoOp-Vip Liste setzen
!vip AutoVoice <nick> = <nick> in die AutoVoice-Vip Liste setzen
!vip AutoDeOp <nick> = <nick> in die AutoDeOp-Vip Liste setzen
!vip AutoDeVoice <nick> = <nick> in die AutoDeVoice-Vip Liste setzen
!delvip <nick> = <nick> als Vip löschen
!massop = jedem User im channel Op geben
!massdeop = jeden User DeOpen
!massvoice = jeden User Voicen
!massdevoice = jeden User DeVoicen

Beachte du brauchst das Autodevoice script von Sp33d das kannst du dir hier in der Download Sektion runterladen Smile

tschüss + hf

StRuCkY
Kleine Bugänderung:

Code:
Sub Init()
  Script "Channel commands 1.1d by Strucky"
SpreadFlagMessage 0, "+m", "7*** Channel Commands 1.1c by StRuCkY loaded ( #StRuCkY )"
  SpreadFlagMessage 0, "+m", "7*** Beachte man braucht das autoDeVoice script von Sp33d. Du kannst es dir saugen auf www.Angelbot-Portal.de"
  Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    Select Case LCase(Param(Line, 1))
      Case "!op"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & Param(Line, 2), 1
        End If
      Case "!deop"
          If Param(Line, 2) = "" Then
         SendLine "MODE " & Chan & " -o " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -o " & Param(Line, 2), 1
          End If
        End If
    Case "!voice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " +v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
      End If
    Case "!devoice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " -v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
      End If
    Case "!+m"
        SendLine "Mode " & Chan & " +m ", 2
    Case "!-m"
        SendLine "Mode " & Chan & " -m ", 2  
    Case "!+c"
        SendLine "Mode " & Chan & " +c ", 2
    Case "!-c"
        SendLine "Mode " & Chan & " -c ", 2
    Case "!+notice"
        SendLine "Mode " & Chan & " +N ", 2
    Case "!-notice"
        SendLine "Mode " & Chan & " -N ", 2
    Case "!+n"
        SendLine "Mode " & Chan & " +n ", 2
    Case "!-n"
        SendLine "Mode " & Chan & " -n ", 2
    Case "!+i"
        SendLine "Mode " & Chan & " +i ", 2
    Case "!-i"
        SendLine "Mode " & Chan & " -i ", 2
    Case "!+ctcp"
        SendLine "Mode " & Chan & " +C ", 2
    Case "!-ctcp"
        SendLine "Mode " & Chan & " -C ", 2
    Case "!vip"
      If Param(Line, 2) = "" Then
        SendLine "NOTICE " & Nick & " :Bitte eine kategroie von VIP auswaehlen", 2
        SendLine "NOTICE " & Nick & " :Volgende Kategorien stehen zu auswahlt: AutoOp, AutoVoice, AutoDeOp, AutoDeVoice, Autokick...", 2
       ElseIf Param(Line, 2) = "autovoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fv " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autoop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fa " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodeop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +d " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodevoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +D " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autokick" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +k " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoKick-Vip Liste hinzugefügt", 2
       End If
    Case "!delvip"
     If Param(Line, 2) = "" Then
       SendLine "NOTICE " & Nick & " :Bitte einen Nick angeben =)", 2
      Else
        ExecuteCommand 0, ".remuser " & Param(Line, 2)
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 2) & " Wurde erfolgreich aus meiner Vip Liste gelöscht", 2
     End If
      Case "!massvoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " +v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massdevoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          SendLine "MODE " & Chan & " +o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
        Next
      Case "!massdeop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
    End Select
  End IF
End Sub

Hinzugefügter Command:
!+ctcp = Channelflag +C
!-ctcp = Channelflag -C

Bye
StRuCkY
Strucky schrieb:Kleine Bugänderung:

Code:
Sub Init()
  Script "Channel commands 1.1d by Strucky"
SpreadFlagMessage 0, "+m", "7*** Channel Commands 1.1c by StRuCkY loaded ( #StRuCkY )"
  SpreadFlagMessage 0, "+m", "7*** Beachte man braucht das autoDeVoice script von Sp33d. Du kannst es dir saugen auf www.Angelbot-Portal.de"
  Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    Select Case LCase(Param(Line, 1))
      Case "!op"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & Param(Line, 2), 1
        End If
      Case "!deop"
          If Param(Line, 2) = "" Then
         SendLine "MODE " & Chan & " -o " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -o " & Param(Line, 2), 1
          End If
        End If
    Case "!voice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " +v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
      End If
    Case "!devoice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " -v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
      End If
    Case "!+m"
        SendLine "Mode " & Chan & " +m ", 2
    Case "!-m"
        SendLine "Mode " & Chan & " -m ", 2  
    Case "!+c"
        SendLine "Mode " & Chan & " +c ", 2
    Case "!-c"
        SendLine "Mode " & Chan & " -c ", 2
    Case "!+notice"
        SendLine "Mode " & Chan & " +N ", 2
    Case "!-notice"
        SendLine "Mode " & Chan & " -N ", 2
    Case "!+n"
        SendLine "Mode " & Chan & " +n ", 2
    Case "!-n"
        SendLine "Mode " & Chan & " -n ", 2
    Case "!+i"
        SendLine "Mode " & Chan & " +i ", 2
    Case "!-i"
        SendLine "Mode " & Chan & " -i ", 2
    Case "!+ctcp"
        SendLine "Mode " & Chan & " +C ", 2
    Case "!-ctcp"
        SendLine "Mode " & Chan & " -C ", 2
    Case "!vip"
      If Param(Line, 2) = "" Then
        SendLine "NOTICE " & Nick & " :Bitte eine kategroie von VIP auswaehlen", 2
        SendLine "NOTICE " & Nick & " :Volgende Kategorien stehen zu auswahlt: AutoOp, AutoVoice, AutoDeOp, AutoDeVoice, Autokick...", 2
       ElseIf Param(Line, 2) = "autovoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fv " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autoop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fa " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodeop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +d " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodevoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +D " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autokick" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +k " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoKick-Vip Liste hinzugefügt", 2
       End If
    Case "!delvip"
     If Param(Line, 2) = "" Then
       SendLine "NOTICE " & Nick & " :Bitte einen Nick angeben =)", 2
      Else
        ExecuteCommand 0, ".remuser " & Param(Line, 2)
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 2) & " Wurde erfolgreich aus meiner Vip Liste gelöscht", 2
     End If
      Case "!massvoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " +v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massdevoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "!massop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          SendLine "MODE " & Chan & " +o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
        Next
      Case "!massdeop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
    End Select
  End IF
End Sub

Hinzugefügter Command:
!+ctcp = Channelflag +C
!-ctcp = Channelflag -C

Bye
StRuCkY


ich würde gerne wollen das der bot nicht auf "!op" hört sondern auf "name op"


so das der bot auf einen bestimmten namen hört also der bot heist xyz und der befehl sollte "xyz op" heissen der bot opt mich denn wie gehtn das ?! einfach das "!op" changen in "xyz op" geht nicht
Code:
Sub Init()
  Script "Channel commands 1.1d by Strucky"
SpreadFlagMessage 0, "+m", "7*** Channel Commands 1.1c by StRuCkY loaded ( #StRuCkY )"
  SpreadFlagMessage 0, "+m", "7*** Beachte man braucht das autoDeVoice script von Sp33d. Du kannst es dir saugen auf www.Angelbot-Portal.de"
  Hook "Chan_Msg"
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    If Param(Line, 1) = MyNick Then
     Select Case LCase(Param(Line, 2))
      Case "op"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & Param(Line, 2), 1
        End If
      Case "deop"
          If Param(Line, 2) = "" Then
         SendLine "MODE " & Chan & " -o " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -o " & Param(Line, 2), 1
          End If
        End If
    Case "voice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " +v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
      End If
    Case "devoice"
      If Param(Line, 2) = "" Then
        SendLine "MODE " & Chan & " -v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
      End If
    Case "mode"
        SendLine "Mode " & Chan & " " & GetRest(Line, 3), 2
    Case "vip"
      If Param(Line, 2) = "" Then
        SendLine "NOTICE " & Nick & " :Bitte eine kategroie von VIP auswaehlen", 2
        SendLine "NOTICE " & Nick & " :Volgende Kategorien stehen zu auswahlt: AutoOp, AutoVoice, AutoDeOp, AutoDeVoice, Autokick...", 2
       ElseIf Param(Line, 2) = "autovoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fv " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autoop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +fa " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodeop" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +d " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeOp-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autodevoice" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +D " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoDeVoice-Vip Liste hinzugefügt", 2
       ElseIf Param(Line, 2) = "autokick" Then
        ExecuteCommand 0, ".adduser " & Param(Line, 3)
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " -fp "
        ExecuteCommand 0, ".chattr " & Param(Line, 3) & " +k " & Chan
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 3) & " Wurde erfolgreich zu meiner AutoKick-Vip Liste hinzugefügt", 2
       End If
    Case "delvip"
     If Param(Line, 2) = "" Then
       SendLine "NOTICE " & Nick & " :Bitte einen Nick angeben =)", 2
      Else
        ExecuteCommand 0, ".remuser " & Param(Line, 2)
        SendLine "PRIVMSG " & Chan & " :" & Param(Line, 2) & " Wurde erfolgreich aus meiner Vip Liste gelöscht", 2
     End If
      Case "massvoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " +v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "massdevoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "massop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          SendLine "MODE " & Chan & " +o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
        Next
      Case "massdeop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          Nick = ChanUser(ChanNum(Chan), i, CU_Nick)
          If Nick <> MyNick Then
            SendLine "MODE " & Chan & " -o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
    End Select
   End If
  End IF
End Sub

So habs mal so gemacht ich hoffe es funzt es ist nicht getestet. Wenn was nicht geht bitte Fehler meldung posten :D

Added:

Ich habe das ganze !+m !-m einfach mal umgeändert.
Nun ist es <botnick> mode <+/-modes>
ist besser :D
also strucky das script ist echt cool .. mir gefällt es gerade das man daraus das script schnell erweitern kann.

nur eine frage, habe es nicht hinbekommen ..

und zwar folgendes: bei !+op rentn* soll er alle open die rentn und weiter heißen .. also diese variable.

Könntest du mir dies in dein script einbauen ? wäre suppi Smile

aba bidde net die letzte sondern die vorletzte variante Wink
ich würd am anfange ne Const Trigger einbauen...
dann den Trigger entweder auf "BotNick" oder "CMDPrefix" einstellbar machen...
so dass man je nach dem wie mans haben will .op oder <bot> op benutzen kann :o
ähmmm .. wie geht das ?? *newbie is* :D
hmmmm, könnt mal einer beide scripts (also das mit !op und das mit <botnick> mode blabla ^^) so umschreiben das ich als superowner nicht von den massmodes betroffen bin? wenn ich nämlich den channel moderated mache und dann massdevoice und massdeop muss ich mich selbst erstmal wieder voicen/open bevor ich wieder massmodes machen kann Rolling Eyes
blöde frage aber wozu braucht man noch das devoice script von speed Smile oder muss man das nicht unbegindt. installen ?
Ich hab mal ein paar Änderungen gemacht:
  • Bot reagiert auf den neuen strTrigger, dieser kann in der Config gesetzt werden.[br]Der Bot "hört" dann auf !op Usernick oder halt auf !botnick op Usernick oder auf !mach op Usernick oder sonstwas ... Ist über den String strTrigger steuerbar.
  • Bei den Mass-Aktionen wird der Bot und der Benutzer, der die Funktion aufgerufen hat, nicht demodeed.

Neuer Code, vielleicht arbeite ich nochmal dran: *eg*

Code:
'#############################################
' Beispiele für strTrigger:
'#############################################
' strTrigger = CommandPrefix & MyNick & " "
' reagiert auf: !Botnick op Usernick
'
' strTrigger = CommandPrefix
' reagiert auf: !op Usernick
'
' strTrigger = CommandPrefix & "Mach" & " "
' reagiert auf: !Mach op Usernick
'#############################################

strTrigger = CommandPrefix & MyNick & " "


Sub Init()
  Script "Channel commands 1.1d by Strucky"
  SpreadFlagMessage 0, "+m", "7*** Channel Commands 1.1c by StRuCkY loaded ( #StRuCkY )"
  Hook "Chan_Msg"
End Sub

Sub Chan_msg(Chan, Nick, RegUser, Line)
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    If LCase(Left(Line,Len(strTrigger))) = LCase(strTrigger) Then
     Select Case LCase(Param(Mid(Line,Len(strTrigger)+1),1))
      Case "op"
        If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & LCase(Param(Mid(Line,Len(strTrigger)+1),2)), 1
        End If
      Case "deop"
          If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
         SendLine "MODE " & Chan & " -o " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -o " & LCase(Param(Mid(Line,Len(strTrigger)+1),2)), 1
          End If
        End If
    Case "voice"
      If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
        SendLine "MODE " & Chan & " +v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " +v " & LCase(Param(Mid(Line,Len(strTrigger)+1),2)), 1
      End If
    Case "devoice"
      If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
        SendLine "MODE " & Chan & " -v " & Nick, 1
      Else
        SendLine "MODE " & Chan & " -v " & LCase(Param(Mid(Line,Len(strTrigger)+1),2)), 1
      End If
    Case "mode"
        SendLine "Mode " & Chan & " " & LCase(GetRest(Mid(Line,Len(strTrigger)+1))), 2
    Case "vip"
      If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
        SendLine "NOTICE " & Nick & " :Bitte eine kategroie von VIP auswaehlen", 2
        SendLine "NOTICE " & Nick & " :Volgende Kategorien stehen zu auswahlt: AutoOp, AutoVoice, AutoDeOp, AutoDeVoice, Autokick...", 2
      ElseIf LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "autovoice" AND Len(Trim(LCase(Param(Mid(Line,Len(strTrigger)+1),3)))) > 0 Then
        ExecuteCommand 0, ".adduser " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " -fp "
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " +fv " & Chan
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & _
        " Wurde erfolgreich zu meiner AutoVoice-Vip Liste hinzugefügt", 2
      ElseIf LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "autoop" AND Len(Trim(LCase(Param(Mid(Line,Len(strTrigger)+1),3)))) > 0 Then
        ExecuteCommand 0, ".adduser " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " -fp "
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " +fa " & Chan
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & _
        " Wurde erfolgreich zu meiner AutoOp-Vip Liste hinzugefügt", 2
      ElseIf LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "autodeop" AND Len(Trim(LCase(Param(Mid(Line,Len(strTrigger)+1),3)))) > 0 Then
        ExecuteCommand 0, ".adduser " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " -fp "
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " +d " & Chan
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & _
        " Wurde erfolgreich zu meiner AutoDeOp-Vip Liste hinzugefügt", 2
      ElseIf LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "autodevoice" AND Len(Trim(LCase(Param(Mid(Line,Len(strTrigger)+1),3)))) > 0 Then
        ExecuteCommand 0, ".adduser " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " -fp "
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " +D " & Chan
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & _
        " Wurde erfolgreich zu meiner AutoDeVoice-Vip Liste hinzugefügt", 2
      ElseIf LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "autokick" AND Len(Trim(LCase(Param(Mid(Line,Len(strTrigger)+1),3)))) > 0 Then
        ExecuteCommand 0, ".adduser " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " -fp "
        ExecuteCommand 0, ".chattr " & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & " +k " & Chan
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),3))  & _
        " Wurde erfolgreich zu meiner AutoKick-Vip Liste hinzugefügt", 2
      End If
    Case "delvip"
     If LCase(Param(Mid(Line,Len(strTrigger)+1),2)) = "" Then
       SendLine "NOTICE " & Nick & " :Bitte einen Nick angeben =)", 2
      Else
        ExecuteCommand 0, ".remuser " & LCase(Param(Mid(Line,Len(strTrigger)+1),2))
        SendLine "PRIVMSG " & Chan & " :" & LCase(Param(Mid(Line,Len(strTrigger)+1),2)) & _
        " Wurde erfolgreich aus meiner Vip Liste gelöscht", 2
     End If
      Case "massvoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          If ChanUser(ChanNum(Chan), i, CU_Nick) <> MyNick AND ChanUser(ChanNum(Chan), i, CU_Nick) <> Nick Then
            SendLine "MODE " & Chan & " +v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "massdevoice"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          If ChanUser(ChanNum(Chan), i, CU_Nick) <> MyNick AND ChanUser(ChanNum(Chan), i, CU_Nick) <> Nick Then
            SendLine "MODE " & Chan & " -v " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
      Case "massop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          SendLine "MODE " & Chan & " +o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
        Next
      Case "massdeop"
        For i = 0 To ChanUserCount(ChanNum(Chan))
          If ChanUser(ChanNum(Chan), i, CU_Nick) <> MyNick AND ChanUser(ChanNum(Chan), i, CU_Nick) <> Nick Then
            SendLine "MODE " & Chan & " -o " & ChanUser(ChanNum(Chan), i, CU_Nick), 2
          End If
        Next
    End Select
   End If
  End IF
End Sub

MfG, P|ngu|n @ IRCnet
Referenz-URLs