Interact with Skype Desktop using API - c#

Spent last few days researching ways to interact with the latest install of Skype Desktop. Hitting roadblocks on every option.
Tried the following -
Skype4COM lib - Does not work with the latest build of Skype. I tried downloading Skype build version < 8, but was unable to attach the Skype.exe process as part of using Skype4COMLib
Skype integration with Outlook 2013 and have a VSTO Plugin for outlook interact with Skype - The VSTO plugins fails to interact with Skype panel
Skype to Slack interaction using Sameroom.io - My contacts in Skype are not on Slack.
Skype to Skype for Business - My contacts in Skype are not on Skype network, and would not be able to register with Skype for business.
Skype to Pidgin - [This works]
Skype Web SDK - After trials the requirement is to run a Lync Server. Skype Web SDK does not work with Skype personal.
Skype Bots - Still working and trying to understand this. Have created an azure bot, and included in my Skype account, but how do I make the bot impersonate me and respond to all the messages posted by my Skype contacts. Because, my Skype contacts will be chatting with me and not with my bot.
I would like to interact with the Skype users in my contacts when they send messages to my account. The goal is the parse message sent to my Skype account, process message, and send the output back to the user who originated the message.
I would really appreciate if the community can help me with giving pointers on how to achieve the above.
Thanks

Related

Send Skype Message using C#

Can someone teach me how to send messages to one person/contact via Skype using the C# application that I made? I just want to make my application send logs via Skype. I already searched Google and all results pointed me to use Skype4Com but it's not working anymore.
You can choose Skype Developer Platform supported topologies Lync2013 LyncSDK that support chatting through skype
Best

Skype API - to make calls and send messages

Is there a way to implement skype API in C# or any other language.
I was using Skype4com.DLL but it is deprecated not working with the skype latest updates. I was using it in a Skype plugin(windows application) to log in and make calls. As an alternative, I thought UCWA Skype Web SDK would be the best solution, but it serves a different purpose.
There are companies that are still using it like https://www.minutizer.com/. I can't figure out the way they are able to detect calls and messages.
Help needed! Thanks
According to: Skype Developer Platform supported topologies you can choose from:
You can also choose to use Lync SDK -
By using Lync 2013, a developer can provide instant messaging (IM),
voice, video, application sharing, and meeting session functionality
in a custom client or LOB application
Skype has discontinued the desktop API in 2013. As a result, you wouldn't find any libraries supporting skype programmatically. That's the reason for deprecating libraries like Skype4com and Skype4Java.
https://blogs.skype.com/news/2013/11/06/feature-evolution-and-support-for-the-skype-desktop-api/
The best option for you to implement voice, SMS or video calling is to use a service like Twilio or Plivo which are having wide support for many programming languages including C#.

Lync 2010 SDK Share Application on an existing conversation

Is there a way to share an application on an existing open conversation window, using Lync 2010 SDK.
Every example that I have come across talks about starting a new conversation
Example:
Walkthrough: Share an Application Process with Another User (Lync 2010 SDK) https://msdn.microsoft.com/en-us/library/office/hh378559(v=office.14).aspx
You don't need to do anything to "share" the applications with multiple applications using the Lync Client SDK. I like to thing of the Lync Client SDK as an API that remote controls the Lync Client application.
This is why multiple applications using the Lync Client SDK works as the Lync Client runs as a separate process and can take remote commands from Lync Client SDK application processes. It is also why when the Lync Client is no running why the Lync Client SDK can't do anything.
There is a "special" mode that you can run a Lync Client as a second instance of the Lync Client process without a UI called UI suppression mode or side by side mode. Useful if you wish to do something outside of the visibility of the main Lync Client or if you are crazy enough to replace the complete UI of the Lync Client.

Get conversation information from lync when own application is not started

We want to import lync conversations in our business software. This is no problem if the software is started while starting conversations over lnyc. Is it possible, to get conversations which were made, during our application is not running? Like MS Outlook does under Recorded Conversation?
Thank you very much.
I don't beleave that you can with the Lync Client API. It's really only for live data / control of the Lync Client.
There is the Call detail recording (CDR) database if you want to list all Lync calls from a central place after the fact.
The CDR needs to be enabled before it will start recording the call data out.

Skype4COM: to identify the incoming call event and assosciate it with one of the active skype clients on my machine

My Project:
I need to build up a Skype Listener server for one of my project. It will:
1. Host 8 different dummy Skype accounts.
2. All accounts will already have associated:
(a) Already Recorded audio files
(b) Pre-recorded video files .
3. A Skype call to any of these Skype accounts will automatically initiate the pre-recorded audio or the video depending upon the call type.
My Reasearch:
I have researched in Skype Developer forum but I could not find any URI or API to accept the incoming programatically. However I am able to catch the Incoming call event and respond to that using Skype4COM.
http://devforum.skype.com/t5/Desktop-API/Event-for-incoming-call/td-p/9174
Now As I have to implement the same in 8 differenet skype account running on same machine using secondary method provided by SKype. But while using the same, I am unable to identify that when an incoming call event occurs, which is the account which is receiving the call. So whicheve be the account it opens the same pre-recorded video and not the one assosciated with the skype account.
Hope I am clear in explaining it.
My Problem:
1.I am looking for a method (using SkypeKIT or Skype4COM) to identify the incoming call event and assosciate it with one of the active skype clients on my machine.
2. To play the pre-recorded video and audio, I am currently changing the viedo source of the skype client on my machine. Now Since all the Skype accounts are running on the same client so I am unable to attach different video sources to different accounts. Is there a way to run multiple skype instance on same machine?
Any suggestion/immediate help on how to accomplish these using SkypeKIT and SKype4COM or any other way will be highly appreciated.
P.S: I have re-posted this question with adding my research work.
Regards
Raj

Categories