Author Topic: Skype Plugin for VoxCommando  (Read 11193 times)

0 Members and 1 Guest are viewing this topic.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Skype Plugin for VoxCommando
« on: October 02, 2013, 02:21:30 PM »
Here is a tutorial to get you started using VoxCommando to interact with Skype.


jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #1 on: October 02, 2013, 03:10:11 PM »
And here is the XML for the Skype group that I created in the video:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<commandGroup open="True" name="Skype" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="36" name="announce chat via tts" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>TTS.Speak</cmdType>
      <cmdString>{2} says, {4}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <cmdString>{2} says, {4}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Skype.Chat.cmsReceived</event>
  </command>
  <command id="59" name="announce incoming call" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>TTS.Speak</cmdType>
      <cmdString>{1} is calling you on skype</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Skype.clsRinging.cltIncomingP2P</event>
  </command>
  <command id="40" name="call contact {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Skype.CallContact</cmdType>
      <cmdString>{1}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Standby</cmdType>
      <cmdString />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>call contact</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\payloadSkype.xml</payloadFromXML>
  </command>
  <command id="60" name="accept incoming call" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Skype.Answer</cmdType>
      <cmdString />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>accept incoming call</phrase>
  </command>
</commandGroup>

miniburk

  • Jr. Member
  • **
  • Posts: 4
  • Karma: 0
    • View Profile
Re: Skype Plugin for VoxCommando
« Reply #2 on: October 02, 2013, 05:07:49 PM »
thank you! got it to working directly after this information!

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #3 on: October 02, 2013, 05:17:42 PM »
As long as we're on the subject of creative uses of Skype ...

Various people have asked about controlling home automation remotely, when not at home. This is pretty easy to do if you have the Skype plugin activated.

Just as a basic example (extremely unsophisticated!), if you know your voice commands well you can use the following** to issue commands via Skype:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="468" name="Do it" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)==(B)</ifType>
    <ifParams>{1}&amp;&amp;jitterjames</ifParams>
    <then>
      <action>
        <cmdType>VC.TellVox</cmdType>
        <cmdString>{4}</cmdString>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <event>Skype.Chat.cmsReceived</event>
</command>

** The above expects a Skype message from the contact "jitterjames". Obviously you'd want to change that to whatever is appropriate (unless, of course, you *want* James to haunt your home.  :biglaugh)
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #4 on: October 03, 2013, 08:37:06 AM »
You could extend this to ask questions about what was going on at home.

Some kind of status report command that would send a Skype message back to you with info about your lights, motion sensors etc...

Could be a fun challenge!
« Last Edit: October 03, 2013, 08:49:36 AM by jitterjames »

SunDoWneR

  • Jr. Member
  • **
  • Posts: 15
  • Karma: 0
    • View Profile
    • www.en4ce.com
Re: Skype Plugin for VoxCommando
« Reply #5 on: October 14, 2013, 01:44:42 PM »
A "Who is online" and "X came online" / "X went offline" Event/Trigger would also be nice.

Cheers, Sunny

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #6 on: October 14, 2013, 03:08:02 PM »
Given the following announcement, I'm not sure it is worth the effort...

http://gigaom.com/2013/07/13/skype-says-it-will-kill-desktop-api-by-end-of-2013/

SunDoWneR

  • Jr. Member
  • **
  • Posts: 15
  • Karma: 0
    • View Profile
    • www.en4ce.com
Re: Skype Plugin for VoxCommando
« Reply #7 on: October 14, 2013, 05:52:37 PM »
Yeah, i've red that to.
What about the Skype URI's? http://developer.skype.com/skype-uris
Could this be used instead?

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #8 on: October 14, 2013, 05:58:47 PM »
So far it doesn't look like their URIs will support anything to do with tracking who's online or offline:

Quote
Currently supported Skype URIs include:
- switching focus to the Skype client.
- initiating audio calls to other Skype users, phones, or mobiles—both one-to-one dialogs and multi-party conferences.
- initiating video calls to another Skype user.
- sending instant messages to an individual or establishing a group multi-chat.
« Last Edit: October 14, 2013, 06:02:17 PM by nime5ter »
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #9 on: October 14, 2013, 06:03:37 PM »
I think Microsoft is trying to force us to use their crappy windows 8 "app" version of skype so are pulling the plug on all the good stuff we can do in the desktop version.

I think that the plugin will continue to work as long as you don't "upgrade" *cough* skype past the current version.

Eventually they will probably make it so that you can't even connect with an older version but until then we will probably be OK.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #10 on: October 21, 2013, 05:47:17 PM »
For what it's worth, I have updated the Skype plugin in version 1.1.6.6

http://voxcommando.com/forum/index.php?topic=1228.0

Your new events are there and I added some new actions to get a list of users (all, or just those that are online etc) and also to query for user information.

Remember, after updating VC, you'll need to tell Skype again to allow access from VC.

Hopefully this will continue to work as long as you keep your current version of Skype.  Personally, I don't think they have done anything to "improve" Skype in the last couple of years anyway and I doubt they will do anything in the near future other than find new ways to increase profit while consuming more of your system resources and making it even harder to close.  :bonk

Here is are some sample commands using the new actions:
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<commandGroup open="True" name="skype test" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1135" name="getusers" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Skype.GetUsers</cmdType>
      <cmdString>Online</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.SetFontSize</cmdType>
      <cmdString>14</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.MatchConcat</cmdType>
      <cmdString>{CR}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <cmdString>{#M} Users are online:{CR}{LastResult}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>get skype users</phrase>
  </command>
  <command id="1137" name="getuser info" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Skype.GetUsers</cmdType>
      <cmdString>Online</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Skype.GetUserInfo</cmdType>
      <cmdString>{Match.Rnd}&amp;&amp;fullname</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <cmdString>{LastResult}</cmdString>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>test get user info</phrase>
  </command>
</commandGroup>

jb5349

  • Jr. Member
  • **
  • Posts: 46
  • Karma: 2
    • View Profile
Re: Skype Plugin for VoxCommando
« Reply #11 on: November 18, 2013, 01:47:55 PM »
Just wondering if the Skype plugin is going to work after December 2013? I noticed that Skype informed me today that it will no longer work or some parts of it will no longer work. Is there any plan to work around this change to the Skype API so that it can still be used with VC? I know it should still work with Virtual Audio Cable but I like the fact it can interact with messages and respond to incoming calls.

Thanks!

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #12 on: November 18, 2013, 02:26:15 PM »
The solution to this problem may be as simple as "don't update skype", but otherwise, no, they are removing support for most of the functionality and not providing alternatives.  There will be some limited support for simple things like "placing a call" and maybe for answering etc. You can check out their website youself to see what will be possible.

http://developer.skype.com/skype-uris

Indy

  • $upporter
  • Jr. Member
  • *****
  • Posts: 23
  • Karma: 1
    • View Profile
Re: Skype Plugin for VoxCommando
« Reply #13 on: March 01, 2014, 08:43:37 PM »
Just wanted to report that it appears to still work with the latest version 6.14.0.104.  The only thing I see missing from the plugin is to be able to initiate a video call.  I understand I can make a normal call and then click video with my mouse, but I would love to be able to initiate a video call all with voice.  I use this completely in my family room on my TV so ideally everything is either done with my remote control or via voice.  Is that something that could be added assuming the Skype API allows it.

I also noticed that when I gave vox access to skype my camera light stays on as long as Vox is open.  If I close Vox, my webcam light also finally goes off.  Has the big brother affect which I don't like.  Is this expected behavior and if so is it possible to modify it?

Edit

Also while testing noticed the call answer was without video as well which again required me to find my mouse to enable it.  Would love to have both options available if possible.
« Last Edit: March 01, 2014, 09:06:08 PM by Indy »

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 2012
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: Skype Plugin for VoxCommando
« Reply #14 on: March 02, 2014, 08:20:14 AM »
That's freaky about the big brother camera. I haven't been able to duplicate that here and we have no real thoughts about root causes I'm afraid.

With regard to placing a video call, if you don't mind enabling the RoboBrowser plugin (or have it enabled already), you can try the following command:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<command id="267" name="place a video call to {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>RoboB.Select</cmdType>
    <cmdString>skype</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>RoboB.Navigate</cmdType>
    <cmdString>skype:{1}?call&amp;video=true</cmdString>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>RoboB.Dispose</cmdType>
    <cmdString />
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>place a, skype</phrase>
  <phrase>video call, vid call</phrase>
  <phrase>to</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloadSkype.xml</payloadFromXML>
</command>

If you've already created an end call command (i.e. with the Skype.EndCall action), that willl work to end your video call as well.

Also, if you see the camera light is on when it shouldn't be, perhaps try issuing your "end call" command to see if the camera turns off, and let us know either way. thx.
« Last Edit: March 02, 2014, 08:25:13 AM by nime5ter »
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)