Nachricht an Teamspeak 3 senden

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Tobias H..

    Nachricht an Teamspeak 3 senden

    Hallo,

    ich habe ein kleines Problem mit meiner Verbindung zu Teamspeak 3 und zwar möchte ich gerne per Buttonklick eine Beliebe Nachricht an den TS senden.
    Soweit klappt das senden auch nur habe ich das Problem das bei jeder Nachricht "serverdamin from blablabla:" steht, wie kann ich jetzt sagen das da
    der Name des Benutzers steht welcher gerade in meinem Programm eingelogt ist? Dieser gibt man in der Loginform in eine Textbox ein.
    Ich hoffe ihr könnt mir helfen.

    Hier mein momentaner Code:

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Net.Sockets
    3. Imports System.Text
    4. Public Class Form1
    5. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    6. Dim tcpClient As New System.Net.Sockets.TcpClient()
    7. tcpClient.Connect("serverid", "10011")
    8. Dim networkStream As NetworkStream = tcpClient.GetStream()
    9. Dim sendBytes As [Byte]()
    10. sendBytes = Encoding.ASCII.GetBytes("login serveradmin passwort" + vbCrLf)
    11. networkStream.Write(sendBytes, 0, sendBytes.Length)
    12. sendBytes = Encoding.ASCII.GetBytes("use sid=1" + vbCrLf)
    13. networkStream.Write(sendBytes, 0, sendBytes.Length)
    14. Dim aString As String = Replace(TextBox1.Text, " ", "\s")
    15. sendBytes = Encoding.ASCII.GetBytes("sendtextmessage targetmode=3 target=7 msg=" + aString + vbCrLf)
    16. networkStream.Write(sendBytes, 0, sendBytes.Length)
    17. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    18. networkStream.Write(sendBytes, 0, sendBytes.Length)
    19. '
    20. End Sub
    21. End Class


    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Der "serveradmin" wird Angezeigt weil du dich mit diesem auf denen Server einloggst.
    dafür musst du soviel ich weiss für jeden der die Nachricht verschicken soll einen eigenen Serveradmin Login erstellen und den dann in dein Programm einbinden

    bei mir geht es nun mit folgendem Code

    VB.NET-Quellcode

    1. Dim tcpClient As New System.Net.Sockets.TcpClient()
    2. tcpClient.Connect("217.160.107.191", "10011")
    3. Dim networkStream As Sockets.NetworkStream = TcpClient.GetStream()
    4. Dim sendBytes As [Byte]()
    5. sendBytes = Encoding.ASCII.GetBytes("loginBenutzer Passwort" + vbCrLf)
    6. networkStream.Write(sendBytes, 0, sendBytes.Length)
    7. sendBytes = Encoding.ASCII.GetBytes("use sid=1" + vbCrLf)
    8. networkStream.Write(sendBytes, 0, sendBytes.Length)
    9. sendBytes = Encoding.ASCII.GetBytes("clientupdate client_nickname=Leitstelle\smit\sFunkalamierung" + vbCrLf)
    10. networkStream.Write(sendBytes, 0, sendBytes.Length)
    11. sendBytes = Encoding.ASCII.GetBytes("sendtextmessage targetmode=3 target=1 msg=[b][Color=red]blabla" + vbCrLf)
    12. networkStream.Write(sendBytes, 0, sendBytes.Length)
    13. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    14. networkStream.Write(sendBytes, 0, sendBytes.Length)
    15. If Not networkStream.CanRead Then
    16. Console.WriteLine("cannot not write data to this stream")
    17. tcpClient.Close()
    18. Else
    19. If Not networkStream.CanWrite Then
    20. Console.WriteLine("cannot read data from this stream")
    21. tcpClient.Close()
    22. End If
    23. End If
    24. ' pause so user can view the console output
    25. Console.ReadLine()
    26. End Sub
    @Blacky2304 Leider funktioniert dein Code bei mir nicht.

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.Net.Sockets
    3. Imports System.Text
    4. Public Class Servernachricht
    5. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    6. Dim tcpClient As New System.Net.Sockets.TcpClient()
    7. tcpClient.Connect("127.0.0.1", "10011")
    8. Dim networkStream As NetworkStream = tcpClient.GetStream()
    9. Dim sendBytes As [Byte]()
    10. sendBytes = Encoding.ASCII.GetBytes("1MTlMwsi" + vbCrLf)
    11. networkStream.Write(sendBytes, 0, sendBytes.Length)
    12. sendBytes = Encoding.ASCII.GetBytes("use sid=1" + vbCrLf)
    13. networkStream.Write(sendBytes, 0, sendBytes.Length)
    14. Dim aString As String = Replace(TextBox1.Text, " ", "\s")
    15. sendBytes = Encoding.ASCII.GetBytes("sendtextmessage targetmode=3 target=7 msg=" + aString + vbCrLf)
    16. networkStream.Write(sendBytes, 0, sendBytes.Length)
    17. sendBytes = Encoding.ASCII.GetBytes("logout" + vbCrLf)
    18. networkStream.Write(sendBytes, 0, sendBytes.Length)
    19. '
    20. End Sub
    21. End Class


    Wie man sieht, mache ich es momentan noch auf einem localhost Server, also falls irgendjemand denkt er kann mit den serveradmin query Daten Schaden anrichten, dem ist nicht so :D
    Mit freundlichen Grüßen,(Best regards,)
    Tobias H.

    DJ-Software/DJ-Programm(Beta): 97%

    Kassensoftware/Cashdesk: 1%