To Integrate a rasa chatbot with amazon alexa and Apple siri - chatbot

How can I integrate my rasa chatbot [which is ready for the conversations] to the voice assistant platforms like Amazon Alexa and Apple Siri as a skill?
my questions are:
can I just use my API which will behave as a connector to both
amazon Alexa and Apple Siri. if so how can i do this. Is there any
documnetation or tutorial
if the above one is hard or not possible then what should be the best way for me to make my chatbot work for the given voice assistant platforms.
Thanks in advance.

To be honest we at Rasa have never tried to integrate it with Siri - I'm not sure how open that platform is.
As for Amazon Alexa, it's definitely possible, but it almost forces you to use their NLU instead of Rasa's NLU pipeline. There are some hacks around it, by just sending the whole user message to Rasa as a slot. We don't have a tutorial for this yet, but you should be able to just pass the Rasa webhook as a URL on the Alexa platform.
In terms of voice platforms in general, we have a tutorial on integrating with Google Assistant, as well as a bunch of other open source voice resources:
https://blog.rasa.com/going-beyond-hey-google-building-a-rasa-powered-google-assistant/
https://blog.rasa.com/how-to-build-a-voice-assistant-with-open-source-rasa-and-mozilla-tools/
https://blog.rasa.com/how-to-build-a-mobile-voice-assistant-with-open-source-rasa-and-aimybox/
PS: if you haven't already, please join our community platform here, where these types of questions get answered frequently.

Related

How to completely access android bluetooth using progressive web app

I have tried web Bluetooth API to access,but it is only for battery status, heart rate etc.., I need to access complete functionality of Bluetooth. Is there any option or API available
I think there is no other available API for this bluetooth function, The Web Bluetooth API is your only option, but it is not finalized yet.
According to this documentation, until now, the ability to interact with bluetooth devices has been possible only for native apps. The Web Bluetooth API aims to change this and brings it to web browsers as well. Alongside efforts like Physical Web, people can walk up to and interact with devices straight from the web.
And even though it is not finalized yet, the Chrome Team is actively looking for enthusiastic developers to try out this work-in-progress API and give feedback on the spec and feedback on the implementation.
Just take note that Web Bluetooth
API is currently
available to be enabled experimentally on your origin in Origin
Trials, or locally on your machine using an experimental flag. The
implementation is partially complete and currently available on Chrome
OS, Chrome for Android M, Linux, and Mac.
For more information, just read these documentation and video. You can also check the updates of the documents here.

How to fully integrate in bb10 hub like WhatsApp?

The latest version of whatsapp was integrated in bb hub. when click on message item for whatsapp in hub, will open a card UI that can send and receive message.
but it still able to send and receive message when I close whatsapp, how to achieve it?
Card and app has own process and context, need across-process communication(card communication with application)?
It has been reported, and widely held, though I have never seen any official documentation it is none the less probably true that the WhatsApp developers were given early access to Hub integration APIs that are not yet widely available to third party developers.
There's a good deal of information out there now for anybody looking to find it. There's a handy page on BlackBerry Hub Integration for C and C++ (native) developers. You basically need to use the UDS (Unified Data Source) Library to open a connection to the BlackBerry Hub and register your app with the Hub.
This page has a lot of example code related to Hub integration. The basic steps are:
Open a connection to the Hub.
Register your app with the Hub.
Retrieve your service ID via the UDS.
Add an account.
Add and manipulate inbox list items on the Hub.

Google TV Dish Network DVR style integration

I am looking into integrating MythTV with Google TV; I would like to have the same level of integration found with dish network dvr (ability to set things to record from Google TV and look-up recordings).
Is there any api that can be used for that or this is only something that google - dish can do via their partnership ?
The API your looking for will be released as part of our next major software release. Please watch Getting Your Content on Google TV for more information.

How can I implement multiplayer in my iphone game?

I want to create a playstation home style multiplayer game for iphone. How can I implement multiplayer in my project? Also, how can I give players a chance to chat? How can I let them create their own avatars to interact? I am a one man developer, with no access to servers. Maybe I can use iPhone game centre???
If you're looking for some kind of platform to build on, there is a product called SmartFoxServer:
http://www.smartfoxserver.com/
I have not used it, but it claims to provide a client API for native Obj-C or Unity3D. It allows for chat features.
If you want to roll your own, I recommend getting started with NodeJS:
http://nodejs.org/
GameCenter does not provide any kind of backend for multiplayer networking, at least not in the way you are implying. If you intend to build a networked multiplayer game over the internet, you most likely need some kind of backend.
Slicehost is a good way of getting a server like NodeJS running quickly and cheaply:
http://www.slicehost.com/
Don't forget that GameKit in iOS allows multiple devices to find each other locally (via Bluetooth or local Wifi) and create sessions. This might be a good starting point for your game. Here's some info on GameKit:
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html
I think this would usually be done with webservice interaction against a server. You may be able to develop a webservice and pay a small fee to have it hosted by a web provider, or to use your own machine as (an unreliable) server while proving the concept.
Or you could just use Nextpeer - http://www.nextpeer.com
It makes adding online tournaments to your game real simple.
You can look at Gamooga (http://www.gamooga.com/).
Its a realtime communication platform for multiplayer games so you dont need to worry about building and deploying your own multiplayer servers. You can upload your own server side scripts onto Gamooga's cluster which receive and process your clients' messages. You can use Gamooga's iOS API with in your app to send messages from the client side to your server side scripts. You can download the SDK and look at the demos to start off.
There is a free plan of Gamooga platform too that you can make use of to start with.
Disclosure: I am founder of Gamooga, replying only since its relevant to the question.

Getting started with Server applications

I have an iPhone game (Combination), and in the next version I would like to set up a server, where users (via the app) can submit which levels they have completed, and see how other users are doing. At this point I don't intend that users will need usernames and passwords, just a simple submit data, get back data.
I know very little about server-based language and databases, but I've heard lots of horrible things that can happen if you get it wrong. What would be the best system to design a simple, lightweight, secure database in?
How about having a look at Onyx Online or OpenFeint?
Onxy Online is from the makers of Trism, and they say, "the XBox Live Arcade ecosystem brought to the iPhone". I wrote this kind of system into Trism as a case study, and it's been a complete success. Since Trism launched in July, we've been hard at work adapting this online code for use in any iPhone game, and the results are stunning. What we're going to do is allow any developer to insert the Onyx code into their game, which will instantly enable online scoring, achievements, leaderboards, and customized forums."
OpenFeint is from the developers of Aurora Feint. From the press release:
"OpenFeint allows any iPhone game to add player profiles, buddy lists, walls, newsfeeds and real-time chat rooms allowing the game to build a real community around itself with ZERO operations overhead and minimal development time. OpenFeint consists of a server and a client. The OpenFeint Server is fully compatible with Google’s OpenSocial REST API and will be accessible through the OpenFeint client code library and sample UI code from Aurora Feint Inc. Indie developers do not have to operate the servers, which will be hosted Aurora Feint’s data center.
In a first for iPhone games, iPhone game developers will have the ability to reduce over 2 months of development work to 1 day, and completely eliminate back-end server operations, while offering their players an extensive set of customizable social and community building features:
Profiles: Players can upload an avatar photo or take one with their iPhone camera.
Walls: Each player gets a wall where other players can leave comments and view wall-to-wall conversations
Asynchronous Real Time Chat Rooms for meeting other players, sharing tips, strategies and experiences within each game community
Buddy List: Players can friend other players within their community or across the iPhone gaming community
Newsfeeds: Players can keep in touch with all of their friends’ activities (wall comments, actions in games, befriending people)
Global Community Chat Rooms for players to discuss recommendations, tips, and reviews of other games on the iPhone"
Have you used Java/C#/Perl/Python any other "server side language?" Are you going to be hosting the server-side yourself, or are you looking at hosting companies? Your decision might come down to how you intend to host your server-side stuff, and what capabilites your hosting company offers or what you are comfortable with.
Java or C# are really powerful server-side languages, but hosting these can take a little more work (and money?).
Java might be a good starting point, because you can setup Tomcat yourself and try hosting some web-services. MySQL is a good database to start with, but there are even more lightweight database alternatives. There might be a bit of a learning curve with any of these.
Have you heard of ICE touch? ICE is a middleware for network communication and has a basic persistence support. It supports every major platform:
iPhone as a client
Android as a client
Objective-C Mac OS X as client/server
C++ Linux as client/server
Java [any OS] as client/server
C#/C++, Windows .NET (with Silverlight) and native as client/server
I evaluated it some time ago and was surprised about its maturity, good documentation and example code. They name Skype as one of their customers.
As a start I would recommend to have a look at their example chat application. You can run a Java server, connect with your iPhone, your G1 and your Silverlight client and have a chat. Pretty impressive interoperabilty!
Here comes the drawback: GPL (you cannot link against it without being GPL yourself) or commercial (individual pricing).
I would also recommend you to use an online database service such as Viravis , DabbleDB or Zoho Creator. Almost all of these kinds of services have required integration capability to work with such a client as Web, Desktop, Windows Mobile or IPhone.
Java/Javascript is the defacto combo for most developers because of the Java support for every platform. Java Script has more than a few "issues"
The rest of the herd uses .NET (with its attendant 100MB run time bloatware that changes every 9 months)
php,pearl,ruby etc are good for server side, but if you want to use code, the best solution is probably C/C++ (or similar) and CGI/FastCGI.
This allows you to write communication algos once and use them on both ends. Any encryption/compresssion sim same.