AnGelBot-Portal²

Normale Version: .+user
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo, ich wollte gerne das ein paar ausgewähle leute ausm chan die
rechte haben um jemanden !voice !op !deop (durch ein script der nur reg user nimmt)
im chan eingeben auch reagiert. wie kann ich dsa richtig einstellen das auch die users es nutzenkönnen?
genau weiß ichs auch net
aber wenn sie auf der Partyline sind können sie die befehle nutzen.
d.H. sie müßen ein pw für deinen bot haben
Oder so

Ich übernehme keine Verantwortung für diese antwort Wink
Nope, klappt nicht. naja drin sind sie schon aber die haben keine rechte für den script.
Hi

Ohne den Users weitere Flags und somit automatisch mehr rechte als ein +user zu geben wird es nicht ohne script gehen.
Wenn der Bot jedoch nur im Channel auf den trigger !+user oder so reagieren soll geht es einfacher.

Das ganze koennte in etwa so aussehen:

Code:
Sub init()
  Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  If LCase(Param(Line,1)) = "!+user" Then
    If MatchFlags(GetUserChanFlags(RegUser, Chan), "+U") Then
      If Param(Line,2) <> "" Then
        If IsOn(Param(Line,2), Chan) Then
          ExecuteCommand 0, ".adduser " & Param(Line,2)
          ExecuteCommand 0, ".chattr " & Param(Line,2) & " -fp"
          Sendline "notice " & Nick & " :" & Param(Line,2) & " wurde in die Userlist aufgenommen",3
        Else
          Sendline "notice " & Nick & " :" & Param(Line,2) & " ist nicht in diesem Channel",3
        End If
      Else
        Sendline "notice " & Nick & " :so geht das: !+user <nickname>",3
      End If
    Else
      Sendline "notice " & Nick & " :finger wech",3
    End If
  End If
End Sub

nachtrag: Der User der !+user im channel nutzen darf muss das Flag +U haben (.chattr <nick> +U)

MfG
Phantom
Danke!

hat jemand noch ein Trigger KICK und BAN script?
hi Bela,
ich hab mal hier eine andere Version ...
Voraussetzung für dieses script ist, dass deine 'Freunde' dem Bot bekannt sein müssen und das Flag +o haben müssen.
Dies vorausgesetzt, können diese dann folgende Trigger ausführen in allen Channels, in denen dein Bot ist und auch die Rechte (also OP) dazu hat.
!v (voice), !-v (devoice), !h (halfOp), !-h (dehalfOp), !o (op), !-o (deop), !k <nick> (kickt den nick), !b <nick> (bannt den nick), !-b <nick> (entfernt den Bann von nick)
kurz ein Beispiel: !o (dein Bot gibt demjenigen Op, der den Trigger eingegeben hat), !o nick (dein Bot gibt nick Op) <--- sollte hier jemand den Namen deines Bot benutzen, wird der Befehl natürlich ignoriert :D
Code:
Sub Init()
  Script "Chanserv-Modes by Looop"
  Hook "Chan_Msg"
End Sub

Sub Chan_msg(Chan, Nick, RegUser, Line)
  If IsOn(Param(Line,2), Chan) > 0 Or Param(Line,2) = MyNick Then Exit Sub
  If MatchFlags(GetUserChanFlags(RegUser, Chan), "+o") Then
    Select Case LCase(Param(Line, 1))
      Case "!h"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +h " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +h " & Param(Line, 2), 1
        End If
      Case "!-h"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " -h " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -h " & Param(Line, 2), 1
          End If
        End If
      Case "!o"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +o " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +o " & Param(Line, 2), 1
        End If
      Case "!-o"
        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 "!v"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +v " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
        End If
      Case "!-v"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " -v " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
          End If
        End If
      Case "!b"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " +b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : du wurdest gebannt ", 1
        End If
      Case "!-b"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " -b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : dein Bann wurde aufgehoben ", 1
        End If
      Case "!k"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " +b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : du wurdest gekickt ", 1
        End If
    End Select
  End If
End Sub

ist zwar ohne warnungen, für solche, die es einfach mal probiern wollen, aber das kann man leicht mit einbaun und ist ja auch nur ein Anfang .. altanativ kann man dieses auch um einige Channelmodes erweitern Smile

cu Looop
danke schon mal etwas^^ aber gibs auch ein script wo nur Hop im channel !kick !voice !ban können
?
hi Bela,
hier einfach mal das umgeschriebene script ...
nun sollten auch nur Hop's diese trigger benutzen können
Code:
Sub Init()
  Script "Chanserv-Modes by Looop"
  Hook "Chan_Msg"
End Sub

Sub Chan_msg(Chan, Nick, RegUser, Line)
  If IsOn(Param(Line,2), Chan) > 0 Or Param(Line,2) = MyNick Then Exit Sub
  If IsHop(Nick, Chan) Then
    Select Case LCase(Param(Line, 1))
      Case "!h"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +h " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +h " & Param(Line, 2), 1
        End If
      Case "!-h"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " -h " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -h " & Param(Line, 2), 1
          End If
        End If
       Case "!v"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " +v " & Nick, 1
        Else
          SendLine "MODE " & Chan & " +v " & Param(Line, 2), 1
        End If
      Case "!-v"
        If Param(Line, 2) = "" Then
          SendLine "MODE " & Chan & " -v " & Nick, 1
        Else
          If LCase(Param(Line, 2)) <> LCase(MyNick) Then
            SendLine "MODE " & Chan & " -v " & Param(Line, 2), 1
          End If
        End If
      Case "!b"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " +b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : du wurdest gebannt ", 1
        End If
      Case "!-b"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " -b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : dein Bann wurde aufgehoben ", 1
        End If
      Case "!k"
        If LCase(Param(Line, 2)) <> LCase(MyNick) Then
          SendLine "MODE " & Chan & " +b " & Param(Line,2), 1
          SendLine "NOTICE " & Param(Line,2) & " : du wurdest gekickt ", 1
        End If
    End Select
  End If
End Sub
natürlich mit der einschränkung des !o und !-o .. wäre ja sonst auch blödsinn *g*
kleine anmerkung noch .. dieses hab ich nicht getestet ^^
cu Looop
Referenz-URLs