AnGelBot-Portal²

Normale Version: Op bei /msg
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich möchte erreichen das der bot jemanden in dem channel #test opt wenn dieser jemand dem bot in der query !passwort sagt.


Code:
Sub Init
Script "blabla"
Hook "Priv_Msg"
SpreadFlagMessage 0, "+m", "blabla"
End Sub

Sub Priv_Msg(Nick, RegUser, Line)
Select Case LCase(Param(Line, 1))
Case "!passwort"  
[b]SendLine "MODE " & Chan & " +0 " & Nick, 2 [/b]
End if
Else
SpreadFlagMessage 0, "+m", "Jemand hat falsches Pw eingegeben."
End if
End Sub

Das Problem ist das SendLine "MODE " & Chan & " +0 " & Nick, 2
Da der Bot den channel nicht kennt.

Wie mach ich das?

Schonmal danke im vorraus.
[/b]
hi mrChaos,
also ich wirds entweder mit einer Konstante probieren, oder einfach (wenn es nur um einen Chan geht) anstatt & Chan den Channelnamen eingeben & " #chan ".
Btw, vergiss bitte nicht aus der 0 ein o zu machen Smile
Zitat:SendLine "MODE " & Chan & " +0 " & Nick, 2

cu Looop
Es funktioniert leider nicht. :(


Was ich vergessen habe: der bot soll nur user mit einem +o flag oppen.
Geht das?
Kann mir jemand den code geben?
hi mrChaos,
hier mal meine kleine Variante ...
Code:
Const ActiveChans = "#test"

Sub Init
  Script "OpMe per Query"
  Hook "Priv_Msg"
  SpreadFlagMessage 0, "+m", "OpMe per Query für " & ActiveChans & " geladen"
End Sub

Sub Priv_Msg(Nick, RegUser, Line)
  Select Case LCase(Param(Line, 1))
    Case "!passwort"    
      If MatchFlags(GetUserFlags(RegUser), "+o") Then
        SendLine "MODE " & ActiveChans & " +o " & Nick, 2
      End If
  End Select
End Sub
sollte deinen Wünschen entsprechen, have fun Confused
cu Looop
Danke.

Funktioniert perfekt.
hab den vorherigen code mal etwas abgeändert...

Code:
Const ActiveChans = "#test"

Sub Init
  Script "OpMe"
  Hook "Chan_Msg"
  SpreadFlagMessage 0, "+m", "OpMe für " & ActiveChans & " geladen"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  Select Case LCase(Param(Line, 1))
    Case "!opme"  
      If MatchFlags(GetUserFlags(RegUser), "+o") Then
        SendLine "MODE " & ActiveChans & " +o " & Nick, 2
      End If
      If Not MatchFlags(GetUserFlags(RegUser), "+o") Then
          versuche = ReadINIString(Chan, Nick & "_versuche", 0, "opme.ini")
      WriteINIString Chan, Nick & "_versuche", versuche + 1, "opme.ini"
      If versuche > 0 Then
        ExecuteCommand 0, ".+ban " & Mask(Hostmask(Chan, Nick), 3)
      ExecuteCommand 0, ".stick " & Mask(Hostmask(Chan, Nick), 3)
          SendLine "NOTICE " & Chan & " " & Nick & "Du wurdest gewarnt :))", 3
      End If
      If Not versuche > 0 Then
      SendLine "Kick " & Chan & " " & Nick & " :Dazu hast du kein Recht!!!",3
    End If
      End If
  End Select
End Sub

jetzt kann man !opme (vorher !passwort) im channel abfragen, leute die kein +o besitzen werden beim ersten mal gekickt, beim 2ten mal gestickbannt.

das stickbann funktioniert bei mir nicht, denke es liegt daran, dass is superowner bin, oder hab ich einen fehler gemacht?
Referenz-URLs