AnGelBot-Portal²

Normale Version: trigger script
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Wie muss ich es angehen, dass man mit
IM CHANNEL WIRUKUNG
!remove_evil [NAME] |||||||||| [NAME] wird von der Evil-List gelöscht Es sollte auch eine meldung an den user ausgegeben werden, der den befehl ausgibt ungefähr so: [NAME] wurde von der Evil-List entfernt!! (sollte nur von mastern ausgeführt werden können...
!+script [SCRIPT] ||||||||||||||| Das Script mit dem Name [SCRIPT] wird hinzugefügt (wie +script in der partyline...) es sollte eine PRIV-Notice angezeigt werden (an den user) das Script [SCRIPT] wurde erfolgreich hinzugefügt!!!
!-script [SCRIPT] |||||||||||||||| Das Script mit dem Name [SCRIPT] wird gelöscht (wie -script in der partyline...)es sollte eine PRIV-Notice angezeigt werden (an den user) das Script [SCRIPT] wurde erfolgreich gelöscht!!!
!reload [SCRIPT] |||||||||||||||| Das Script mit dem Name [SCRIPT] wird neugeladen (wie reload in der partyline...)es sollte eine PRIV-Notice angezeigt werden (an den user) das Script [SCRIPT] wurde erfolgreich neugeladen!!!
!+autovoice|||||| Im Channel in dem man das eingibt, sollte es dann Autovoice geben... (wie .auto_mode [CHANNEL] voice/op/halfop on/off in der pl)
!-autovoice|||||| Im Channel in dem man das eingibt, sollte das Autovoice entfernt werden... (wie .auto_mode [CHANNEL] voice/op/halfop on/off in der pl)
!+autoop||||||||| Im Channel in dem man das eingibt, sollte es dann Autoop geben... (wie .auto_mode [CHANNEL] voice/op/halfop on/off in der pl)
!-autoop ||||||||| Im Channel in dem man das eingibt, sollte das Autoop enfernt werden... (wie .auto_mode [CHANNEL] voice/op/halfop on/off in der pl)

Das !+script [SCRIPT] !-script [SCRIPT] und !reload [SCRIPT] sollte nur von mir (super-owner) ausgeführt werden der rest (das alles mit autovoice/....) sollte von Channelowner oder auch von Global-Owner ausgeführt werden können...

Thx schonmal jetzt Smile
scripte adden oder removen geht per trigger nicht, da weigert sich der bot ;(
;(((
sch** bot ^^ nein eh nicht is es ein guter bot Smile aber geht das andere zeugs??
Kennt sich da niemand aus?? Crying or Very sad Embarassed
Kleine änderung...
!remove_evil [NAME] |||||| [NAME] wird von der Evil-List gelöscht Es sollte auch eine meldung an den user ausgegeben werden, der den befehl ausgibt ungefähr so: [NAME] wurde von der Evil-List entfernt!! (sollte nur von usern ausgeführt werden, die einen (neuen) flag wie zb e haben)

so ungefähr.. thx
Code:
'In welchen Channeln soll der Bot auf die Trigger reagieren?
'("*" für alle Channel)
Const ActiveChannels = "*"

'Einstellungsdatei des EvilScripts (Deop-Revenge)
Const ini_EvilScript = "ini_Evil.ini"

'Einstellungsdatei des AutoMode Scripts
Const ini_AutoMode   = "ini_ChanSettings.ini"

Sub Init()
  Script "TriggerScript 1.0a by Sp33d"
  Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  If Not IsPrivileged(Chan, Nick, RegUser) Then Exit Sub

  If ActiveChannels <> "*" Then
    If Not InStr(1, " " & LCase(ActiveChannels) & " ", " " & LCase(Chan) & " ") Then Exit Sub
  End If

  Select Case LCase(Param(Line, 1))
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "remove_evil"
      If Param(Line, 2) = vbNullString Then
        SendLine "NOTICE " & Nick & " :4Usage: .remove_evil <username>", 2
      Else
        If ReadINIString(Param(Line, 2), "IsEvil", vbNullString, ini_EvilScript) = vbNullString Then
          SendLine "NOTICE " & Nick & " :4Es existiert kein Benutzer mit dem angegebenen Namen", 2
        Else
          DeleteINISection Param(Line, 2), ini_EvilScript
          SendLine "NOTICE " & Nick & " :3Der Benutzer """ & Param(Line, 2) & """ wurde aus der Evillist gelöscht", 2
        End If
      End If
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "+auto_op"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoOp", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoOp für " & Chan & " aktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoOp", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoOp für " & Param(Line, 2) & " aktiviert", 2
      End If
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "-auto_op"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoOp", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoOp für " & Chan & " deaktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoOp", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoOp für " & Param(Line, 2) & " deaktiviert", 2
      End If
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "+auto_voice"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoVoice", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoVoice für " & Chan & " aktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoVoice", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoVoice für " & Param(Line, 2) & " aktiviert", 2
      End If
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "-auto_voice"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoVoice", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoVoice für " & Chan & " deaktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoVoice", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoVoice für " & Param(Line, 2) & " deaktiviert", 2
      End If

    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "+auto_halfop"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoHalfOp", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoHalfOp für " & Chan & " aktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoHalfOp", "1", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoHalfOp für " & Param(Line, 2) & " aktiviert", 2
      End If
    Case ReadINIString("Others", "CMDPrefix", "!", "AnGel.ini") & "-auto_halfop"
      If Param(Line, 2) = vbNullString Then
        'kein Channel angegeben, aktuellen Channel benutzen
        WriteINIString Chan, "AutoHalfOp", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoHalfOp für " & Chan & " deaktiviert", 2
      Else
        'Channel angegeben
        WriteINIString Param(Line, 2), "AutoHalfOp", "0", ini_AutoMode
        SendLine "NOTICE " & Nick & " :3AutoHalfOp für " & Param(Line, 2) & " deaktiviert", 2
      End If
  End Select
End Sub

Function IsPrivileged(Chan, Nick, RegUser)
  IsPrivileged = False

  If RegUser = vbNullString Then
    If Len(Nick) = 1 Or InStr(1, Nick, ".") > 0 Or Nick = vbNullString Then
      'Service
      IsPrivileged = True
    End If
  ElseIf MatchFlags(GetUserChanFlags(Chan, RegUser), "+s") Or _
         MatchFlags(GetUserChanFlags(Chan, RegUser), "+n") Or _
         MatchFlags(GetUserChanFlags(Chan, RegUser), "+m") Then
    IsPrivileged = True
  ElseIf MatchFlags(GetUserFlags(RegUser), "+s") Or _
         MatchFlags(GetUserFlags(RegUser), "+n") Or _
         MatchFlags(GetUserFlags(RegUser), "+m") Or _
         MatchFlags(GetUserFlags(RegUser), "+b") Then
    IsPrivileged = True
  End If
End Function
Referenz-URLs