[Skype API] Ich habe eine Frage über die Skype API
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von PHPrene.
-
-
-
-
Glaub das geht nicht. Da müsstest du ja die Nachricht beim Senden abfangen, korrigieren und dann schicken. Du könntest dir aber ein Programm bauen, mit dem du Skypst, welches dann Auto-Korrektur hat...
-
So ein Quatsch, natürlich geht das mit der API.
Im MessageStatus Event kann man das ganz einfach machen indem man die Eigenschaft Body der ChatMessage ändert. Und über IsEditable kann man überprüfen ob man diese editieren kann.
Ich empfehle mal einen Blick in die Dokumentation zu werfen(dev.skype.com/accessories/skype4com - Skype4Com.chm).
IChatMessage Interface Reference - Properties - BSTR Body [get, set] Returns/sets chat message body.Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Pinki“ ()
-
-
Pinki schrieb:
Ich empfehle mal einen Blick in die Dokumentation zu werfen(dev.skype.com/accessories/skype4com - Skype4Com.chm).
IChat Interface Reference - Properties - IChatMessageCollection Messages [get] This commmand queries chat messages.
IChat enthält eine Eigenschaft Messages, welche du mit einer Schleife durchgehen kannst. ISkype enthält diese Eigenschaft auch, wie gesagt schau dir die Dokumentation an da steht alles drin was man wissen muss. -
-
-
-
Huch, wusste gar nicht, dass das geht
@PHPrene
(Ein Import ist Voraussetzung: )
Zuerst musst du ein neues Objekt erstellen, welches du als WithEvents definierst, da du ja das Event MessageStatus brauchst (geht auch mit AddHandler, ich finds aber so schöner):
Danach verbindest du dich mit Skype, am besten im FormLoad:
Jetzt brauchste das Event 'MessageStatus':
Wir müssen nun Abfragen, ob du eine Nachricht gesendet hast, da das Event auch ausgelöst wird, wenn du eine Nachricht empfängst:
Am besten machen wir jetzt ein Select Case der pMessage.Body (das ist die Nachricht) und geben das anschließend zurück:
Ich hoffe, du guckst dir das mal an und C & P nicht nur. Hier nochmal der ganze Code:
Spoiler anzeigen VB.NET-Quellcode
- Imports SKYPE4COMLib
- Public Class Form1
- Dim WithEvents skype As New Skype
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- skype.Attach()
- End Sub
- Private Sub skype_MessageStatus(pMessage As ChatMessage, Status As TChatMessageStatus) Handles skype.MessageStatus
- If Status = TChatMessageStatus.cmsSending Then
- Dim newmsg As String = pMessage.Body
- Select Case pMessage.Body
- Case "allo"
- newmsg = "Hallo"
- End Select
- pMessage.Body = newmsg
- End If
- End Sub
- End Class
-
VincentTB schrieb:
Ich hoffe, du guckst dir das mal an und C & P nicht nur. Hier nochmal der ganze Code:
Ich verstehe nicht ganz wieso du dann überhaupt den Code zum Copy & Pasten zum Schluss anhängst?...
Hier nochmals Tutorials mit Erklärung:
[VB.NET] Computer über Skype "steuern" (Using Skype4Com.dll)
[VB.NET] Skype nachricht versenden, Skype User anrufen, uvm. -
Ich finds immer gut, wenn man zur Übersicht noch mal den ganzen funktionierenden Code hat...
-
-
-
Habe ne frage ich möchte das der Stern weiter Wandert aber warum Überspringt er das Andere :
Private Sub skype_MessageStatus(ByVal pMessage As ChatMessage, ByVal Status As TChatMessageStatus) Handles skype.MessageStatus
If Status = TChatMessageStatus.cmsSending Then
Dim newmsg As String = pMessage.Body
Select Case pMessage.Body
Case "start"
newmsg = "Starting Complession... " & vbCrLf & "|* |"
System.Threading.Thread.Sleep(6000)
newmsg = "Starting Complession... " & vbCrLf & "| * |"
System.Threading.Thread.Sleep(600)
newmsg = "Starting Complession... " & vbCrLf & "| * |"
System.Threading.Thread.Sleep(600)
newmsg = "Starting Complession... " & vbCrLf & "| * |"
System.Threading.Thread.Sleep(600)
newmsg = "Starting Complession... " & vbCrLf & "| *|"
End Select
pMessage.Body = newmsg
End If -
Ka, was das werden soll, aber vielleicht ja sowas: (Die Text wird untereinander gesendet)
Spoiler anzeigen VB.NET-Quellcode
- If Status = TChatMessageStatus.cmsSending Then
- Dim newmsg As String = pMessage.Body
- Select Case pMessage.Body
- Case "start"
- pMessage.Body = "|* |"
- System.Threading.Thread.Sleep(6000)
- pMessage.Chat.SendMessage("| * |")
- System.Threading.Thread.Sleep(600)
- pMessage.Chat.SendMessage("| * |")
- System.Threading.Thread.Sleep(600)
- pMessage.Chat.SendMessage("| * |")
- System.Threading.Thread.Sleep(600)
- pMessage.Chat.SendMessage("| *|")
- End Select
- End If
oder sowas: (Der Text verändert sich. Es wird nur eine Nachricht gesendet)
Spoiler anzeigen VB.NET-Quellcode
- Private Sub skype_MessageStatus(pMessage As ChatMessage, Status As TChatMessageStatus) Handles skype.MessageStatus
- If Status = TChatMessageStatus.cmsSending Then
- Dim newmsg As String = pMessage.Body
- Select Case pMessage.Body
- Case "start"
- pMessage.Body = "|* |"
- System.Threading.Thread.Sleep(6000)
- pMessage.Body = "| * |"
- System.Threading.Thread.Sleep(600)
- pMessage.Body = "| * |"
- System.Threading.Thread.Sleep(600)
- pMessage.Body = "| * |"
- System.Threading.Thread.Sleep(600)
- pMessage.Body = "| *|"
- End Select
- End If
- End Sub
Edit: Ach ja, und Bitte VB Tags benutzen - was ist damit gemeint?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VincentTB“ ()
-
-
-
Wen du sehn willst was draus geworden ist < Dann klick mich an >
-
Ähnliche Themen
-
SuGGl - - Sonstige Problemstellungen
-
jobi - - Sonstige Problemstellungen