Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Recording Skype chat
Message
From
24/10/2009 12:07:00
Dragan Nedeljkovich
Now officially retired
Zrenjanin, Serbia
 
 
To
24/10/2009 11:25:43
Dragan Nedeljkovich
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows Server 2003
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01431057
Message ID:
01431248
Views:
82
This message has been marked as the solution to the initial question of the thread.
>>I guess I didn't make it very clear, it is only Skype _Chat_ which we are looking to log, not actual voice recordings. Most of the products suggested do voice recording.
>
>I know I've set mine to keep logs forever, but I can't read them with anything else but skype itself, which sort of sucks. Most of the registry entries for Skype, the interesting ones, are encrypted, so I don't even know where does it keep its data. Could be anywhere - today's disks are huge forests.
>
>But there's a COM interface for it:
>
>osk=CREATEOBJECT("Skype4COM.Application")
>
>..and any one from other Skype4COM interfaces. Somewhere in there you should be able to find an interface, maybe an eventhandler() or a prg-based classes with Implements clause (try with Object Browser)... one of those should be able to get you there.

OK... here's more stuff I tried:
osc=CREATEOBJECT("Skype4COM.Skype")
oc=osc.Chats
?oc.Count
?oc.Item(1).Name
?oc.Item(2).Name
?oc.Item(1322).Name
?oc.Count
?oc.Item(1435).Name
* it turns out that this collection is a latest-is-first list, because the chat #1435 
* happened almost three years ago (with the late Jim Nelson).
om1=oc.Item(1)
oms=om1.Messages
?oms.Count
?oms.Item(1).Body
?oms.Item(1).ChatName
?oms.Item(1).Chat
och=oms.Item(1).Chat
?och.TopicXML
?och.DialogPartner
?och.FriendlyName
?och.Messages
?och.Messages.Count
?oms.Count
?och.AlertString
?och.MyRole
?och.MyStatus
?och.Name
?och.RecentMessages
?och.RecentMessages.Item(1)
om2=och.RecentMessages.Item(1)
?om2.Body
?om2.EditedTimestamp
?om2.Timestamp
?om2.Body
?och.RecentMessages.Count
So it seems that a messages collection keeps the messages for one chat, and in a message the .body property either contains the actual message text or XML with list of participants. So it should be possible to pull whatever you need from these objects and store it in a table (well, a set of tables - participants, chats, chat messages) and there's your archive. Just periodically import into your tables and you got it all.

back to same old

the first online autobiography, unfinished by design
What, me reckless? I'm full of recks!
Balkans, eh? Count them.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform