|
You last visited: Today at 17:38
Advertisement
[VB.NET] IRC Name und Nachricht
Discussion on [VB.NET] IRC Name und Nachricht within the .NET Languages forum part of the Coders Den category.
11/26/2014, 12:26
|
#16
|
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
|
Haenge ans Ende noch irgendein Zeichen bei deiner Ausgabe an, damit du siehst, ob es auf ein Leerzeichen oder nl oder so endet.
|
|
|
11/26/2014, 12:31
|
#17
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Vielen Dank dowhile!
Ich hab ein vbNewLine dran gehängt und jetzt geht es
Vielen Dank!
Was mache ich jetzt schon wieder falsch?
Code:
If String.Compare(rmsg, "!test" & vbNewLine) = 0 Then
send("PRIVMSG #stanleyjuk : Warum testest du mich " & rnick & "?")
cout.Write(rnick & " executed !test" & vbNewLine)
ElseIf String.Compare(rmsg, "!stats" & vbNewLine) = 0 Then
send("PRIVMSG #stanleyjuk : Der Stream läuft seit " & GetTime(uptime) & ".")
cout.Write(rnick & " executed !stats" & vbNewLine)
ElseIf String.Compare(rmsg, "!rules" & vbNewLine) = 0 Then
send("PRIVMSG #stanleyjuk : Warum testest du mich " & rnick & "?")
cout.Write(rnick & " executed !rules" & vbNewLine)
End If
!rules wird ausgeführt
!test auch
!stats nur wenn ich danach noch nen anderen befehl ausführe wird aber vom bot erkannt nur nicht ausgeführt
|
|
|
11/26/2014, 13:17
|
#18
|
dotCom
elite*gold: 9842
Join Date: Mar 2009
Posts: 16,878
Received Thanks: 4,690
|
Wird !rules beim ersten mal auch sofort ausgegeben ?
Ich würde in diesem Fall eine Switch abfrage nehmen, sofern du vorhast noch mehr "Befehle" zu benutzten
|
|
|
11/26/2014, 13:33
|
#19
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Ja !rules wird direkt beim ersten mal ausgeführt.
Und wie muss ich die Switch Abfrage dann aufbauen (Codeschnipsel wäre hilfreich).
Ich wüsste nicht wie ich das in eine Case abfrage einarbeiten sollte.
|
|
|
11/26/2014, 14:52
|
#20
|
dotCom
elite*gold: 9842
Join Date: Mar 2009
Posts: 16,878
Received Thanks: 4,690
|
In vb keine ahnung aber in etwa so.
Code:
switch(Bedingung)
case "!test"
// Mache dies das
break;
case "!rules"
// Mache rules
break;
default:
// Wenn nichts davon passt
break;
EndSwitch
|
|
|
11/26/2014, 15:03
|
#21
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Also so schonmal nicht:
Code:
Select Case rmsg
Case "!test"
send("PRIVMSG #stanleyjuk : Warum testest du mich " & rnick & "?")
End Select
und so auch nicht:
Code:
Select Case rmsg
Case String.Compare(rmsg, "!test" & vbNewLine) = 0
send("PRIVMSG #stanleyjuk : Warum testest du mich " & rnick & "?")
End Select
Kann mir jemand sagen wie ich das in diesem Fall richtig machen muss?
|
|
|
11/26/2014, 15:15
|
#22
|
dotCom
elite*gold: 9842
Join Date: Mar 2009
Posts: 16,878
Received Thanks: 4,690
|
Sag mal, kennen Sie Google ?
"vb case"
Erster Treffer von Microsoft =>
|
|
|
11/26/2014, 15:18
|
#23
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Als ob ich das nicht getan hätte -.-
Aber du siehst ja meine 2 versuche wie ich das auf meinen Fall interpretiert habe und es hat nicht geklapt. Entschuldige bitte das ich dann hier nachfrage.
|
|
|
11/26/2014, 15:32
|
#24
|
dotCom
elite*gold: 9842
Join Date: Mar 2009
Posts: 16,878
Received Thanks: 4,690
|
Vielleicht so...
sofern du mehr Anweisungen machen möchtest wenn !test eingeben worden ist, würde ich dort einen Funktionsaufruf machen.
Code:
Select Case True
Case String.Compare(rmsg, "!test" & vbNewLine)
Debug.WriteLine("test")
Case String.Compare(rmsg, "!stats" & vbNewLine)
Debug.WriteLine("stats")
Case Else
Debug.WriteLine("alles andere")
End Select
|
|
|
11/26/2014, 15:52
|
#25
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Ich weiß absolut nicht warum aber wenn ich den "Bot" starte kommt in der Debug-Konsole test wenn ich !test eingebe kommt "stats" und wenn ich !stats eingebe kommt "test"
ich habe deinen Codeschnipsel 1:1 übernommen
|
|
|
11/26/2014, 16:37
|
#26
|
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
|
Quote:
Originally Posted by eRazor97
Vielen Dank dowhile!
Ich hab ein vbNewLine dran gehängt und jetzt geht es 
|
Besser ist, das nl aus rmsg zu entfernen.
Das Select ist falsch, weil String.Compare bei Gleichheit 0 und nicht True zurück gibt (... was musst du also ändern?)
|
|
|
11/26/2014, 16:42
|
#27
|
elite*gold: 164
Join Date: May 2013
Posts: 147
Received Thanks: 4
|
Ich nehme an das True bei
auf False zu ändern?
//EDIT: Hab das vbNewLine durch ein vbCrLf ersetzt. Ist doch richtig oder?
Zumindest funktioniert es
|
|
|
11/26/2014, 17:26
|
#28
|
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
|
Ich weiß nicht, ob das geht. Sinnvoller ist es aber, das auf 0 zu ändern, denn dann hast du auch den richtigen Datentypen (0 ist Zahl, False ist Wahrheitswert).
Laut RFC endet jede Nachricht mit CR LF, also sollte das gehen. Besser wäre es aber, wenn du, wie bereits gesagt, einfach aus rmsg die letzten beiden Bytes (also CR und LF) wegschneitest. Schau dir dazu die Methoden von String an (String.Substring, String.Remove oder auch String.Trim sind gute Kandidaten).
|
|
|
Similar Threads
|
Nachricht auf epvp mit vorgegebenem Titel und Nachricht ?
05/23/2014 - General Coding - 12 Replies
Geht sowas mit PHP oder javascript?Wenn ja kann mir das dann einer erklären.Hab schon gesucht aber nix anständiges gefunden.Es darf sich nicht auf einem Browser basieren.Geht sowas vlt.?
epvp.com/forum/private.php?do=newpm&u=5690970 &title=Titel&message=Nachricht
|
e*pvp Nachricht
11/29/2012 - Quotes - 10 Replies
Zitat sagt alles ;D
|
GM Nachricht
07/09/2011 - Metin2 Private Server - 1 Replies
...
|
Nachricht von GM
06/16/2009 - Metin2 Private Server - 9 Replies
ein paar Leute haben grade in MSN eine Nachricht erhalten vom GM
|
All times are GMT +1. The time now is 17:38.
|
|