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
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
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?