Entwickler-Ecke
Internet / Netzwerk - IdIRC isop problem
SuiZiD - So 26.04.09 19:34
Titel: IdIRC isop problem
Delphi-Quelltext
1: 2:
| if (pos('!kick ',content) <> 0) and (idirc1.IsOp(auser.Nick) = true) then idirc1.Kick(labelededit3.Text,copy(content,7,17),'Kicked by ' +auser.Nick); |
eig. müsste er denjenigen kicken wenn man op hat, aber es passiert gar nichts -.-
am copy liegt es net denn ohne isop geht es oo
Jakob_Ullmann - Mo 27.04.09 21:08
ein paar mehr Informationen. Was ist LabeledEdit3? Content?
jakobwenzel - Mo 27.04.09 21:17
SuiZiD hat folgendes geschrieben : |
|
Was sagt dir denn, dass der Benutzername maximal 17 Zeichen lang ist?
Xentar - Mo 27.04.09 21:22
Hat der ausführende Benutzer denn wirklich OP?
Viele IRC Netzwerke unterstützen inzwischen noch andere Modi: HOP, Admin, Owner, usw. Ich weiß nicht, wie die Funktion IsOp darauf reagiert...
Probier doch mal sowas in der Art, um zu testen ob das generell geht:
Delphi-Quelltext
1: 2:
| if (idirc1.IsOp(auser.Nick)) then ShowMessage('Jo, der hat OP'); |
Die explizite Abfrag auf = true solltest du dir übrigens wieder abgewöhnen.
Edit: Grad mal nachgesehen. Die Funktion IsOp:
Delphi-Quelltext
1: 2: 3: 4: 5:
| function TIdIRC.IsOp(ANick: String): Boolean; begin Result := (Length(Nick)>0) and (Nick[1] = '@'); end; |
es wird also nur geprüft, ob das Zeichen vor dem Nick ein @ ist. Andere Modi, die ich oben erwähnt hatte, werden also NICHT erkannt!
DelphiMarkus - Mo 27.04.09 21:26
Hi!
Eigentlich sollte man es variabel machen, hier mal ein Tipp:
Die Länge des Benutzernamens ist ja die Länge des Befehls, z.B.Length('!kick'). Und diese Länge wird von der ganzen Länge (content) abgezogen. Den Rest kannst du dann als Benutzernamen nehmen.
Überleg mal, die funktion copy() ist schon richtig. ;)
Um mal zu dem OP zu kommen: Der Bot muss auch OP sein um kicken zu können. Und ein OP macht das so: /kick <user> das ist vielleicht besser denn !kick erscheint im Chat und /kick nicht. ;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!