Click here to Skip to main content
13,092,725 members (82,113 online)
Click here to Skip to main content
Add your own
alternative version

Tagged as

Stats

7K views
4 bookmarked
Posted 7 Feb 2013
MIT

Building a Language Translation Bot using Skype and C#

, 7 Feb 2013
Rate this:
Please Sign up or sign in to vote.
How to build a language translation bot using Skype and C#

In Google talk, there was some bot service available which will help to translate from one language to another. You can implement similar service using Skype with the help of Skype4COM.dll. In this implementation for language translation, the Bing soap API is used.

Skype4COM is a Windows based COM DLL which acts as a shim between the text based Skype Desktop API and 3rd party programs / applications. The Skype4COM.dll and developer documentation is available to download from here.

You need download the Skype4COM.dll and you need to register it in the system to use it. You can register any COM DLL using command regsvr32 from command prompt. You need administrator privilege to do this. If you didn’t register it properly, you may get some COMException while running the applications.

You can add reference of Skype4COM.dll from Add Reference > COM tab.

And here is the implementation:

private Skype _skype;
public frmSkypeBot()
{
    InitializeComponent();

    _skype = new Skype();
    _skype.Attach(8, false);
    _skype.MessageStatus += SkypeMessageStatus;
}

private void SkypeMessageStatus(ChatMessage pMessage, 
    TChatMessageStatus Status)
{
    try
    {
        if (Status == TChatMessageStatus.cmsRead)
        {
            _skype.SendMessage(pMessage.Sender.Handle, 
                Translate(pMessage.Body));
        }
    }
    catch (Exception ex)
    {
        Log(ex);
    }
}

While launching the application, you will get a prompt like this:

Skype - Application permission dialog

You need to click on the allow access button, otherwise the application won’t work.

Skype bot running on my system.

Skype bot - English to Hindi

The Translate method translates from English to Hindi using Bing API. Bing API doesn’t support translation to Malayalam from English. So Hindi language is used.

Happy programming!

Related Content

  1. How to use TaskDialog API in C#
  2. How to turn off your monitor when you lock your machine
  3. Raven DB – Introduction
  4. Drive combo box in C#
  5. How to get the current battery level in C#

License

This article, along with any associated source code and files, is licensed under The MIT License

Share

About the Author

Anuraj Parameswaran
Technical Lead
India India
Working as Tech. Lead

My blog : dotnetthoughts.net.
You can follow me in twitter : @anuraj

You may also be interested in...

Pro
Pro

Comments and Discussions

 
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.170813.1 | Last Updated 7 Feb 2013
Article Copyright 2013 by Anuraj Parameswaran
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid