Connect Bot built with Microsoft Bot Framework to other connectors/Channels too - node.js

I have built a bot using Microsoft bot framework. Now I want to connect it to channels which are not supported by the Microsoft bot connector. However, I need to build an interface (or a substitute for bot connector) to connect to those channels. But as I am using Bot framework SDK (NodeJs), I need the best approach to expose the endpoint of my bot engine to other connectors/channels.

The Bot Framework has a mechanism specifically for this scenario, called Direct Line. Essentially, you build the UI interface yourself, but use the Direct Line API to forward events to/from the Bot Connector. You can use the Direct Line REST API, or find an npm package where someone has taken care of the underlying plumbing for you, as in the botframework-directline.js package. Microsoft has some node.js BotBuilder-Samples on their GitHub site too.
Note: The typical way to get the best help on SO is to post code of
what you've tried and that gives people a better idea of how to help.
I understand you don't know where to start, so that doesn't help much,
but maybe it will explain why you're getting Close flags.

Related

Set read status of getstream.io notification feed via rest api or php sdk

I need to update read/ seen status of getstream notification feed via rest api or php sdk. Would be a great help if someone can help me out on this.
Reason is, I'm using rest api to integrate getstream with a flutter app Im developing. I though it would be easier than using native sdk as Im only using small amount of features
Answering my own questions as this was real tough to find,
https://getstream.io/docs/flat_feeds/?language=php&q=mark_seen#notification_feeds

What is the best way to create a Microsoft Teams upload bot that uploads the contents to a web service?

I have Azure and I want to be able to create a simple chat-bot that is programmed to do a few simple tasks for users, i.e. take in uploaded information and pass it on to another web service. What would be the best way to do this? Should I use team's built in bot-framework? I'm not sure if it can export data externally.
Would the best way be to just create a self-service web-page? I kind of want to keep it as a bot though, since they are hip and trendy.
Any tips, guidance, or knowledge would be appreciated!
It certainly should be possible to do this using a bot, as Teams bots can handle 9file upload and download scenarios](https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/conversations/send-and-receive-files?tabs=dotnet). Once the bot has received the file, it can do anything that makes sense, as the bot is fully-fledged application, written in C#, node, python, or other options (those 3 are the best supported).
If you haven't build a bot before, you can start here, which gives links to guidance on general bot development with the Microsoft Bot Framework, as well as info on Teams-specific scenarios.

Nodejs send metrics of how many people are using my app

So i'm designing a new application with Nodejs and packaging into an executable then putting a release in github, I want to be able to monitor how many people are using my executable?
I was thinking about creating an api server and my application just make a call to that API service but I thought there might be something already out there any help?
The easiest way is to connect third party services that do that. The most famous one is Google Analytics
You just need to create your developer account and embed a few lines of tracking code. After that you can see full info about your visitors including their location.

Dialogflow SDK or Dialogflow REST API, which is faster in term of response time?

I have used Dialogflow for developing the app for Google Assistant. I have created intents and entities in the Dialogflow web GUI and I'm using a webhook response for further conversation.
Now I want to build a chatbot that is part of an existing Android or iOS app and use the code I already wrote for Dialogflow as part of this. What do I need to be aware of when I do so? It looks like I can use the SDK for that platform or make calls to the Dialogflow REST API. Which is faster or are there any tradeoffs? Can I use the Dialogflow NLP without going over the network?
Note: Dialogflow API V1 is deprecated and will be shut down on October 23th, 2019.
That means that the official Javascript, native Android, native iOS and Cordova clients will stop working since they all use V1. There's no word if and when these clients will be upgraded to V2.
So the best bet right now is to use the REST APIs.
There are a few things to be aware of when moving from fulfillment that was built for Actions on Google to using this to also provide responses for other platforms. Actions on Google expects the responses to be formatted slightly differently, and if you're using AoG specific characteristics (such as a SimpleResponse object or a Card object), then it might not appear for other Dialogflow integrations. So you'll need to go over your webhook code to make sure what you send back works across platforms. Your logic and the Dialogflow UI builder should pretty much remain the same - it is just your backend that might need some work.
To make the call, as you say, you can either do the REST call yourself or use the SDK built by Dialogflow. While the SDK will be slightly faster, since it is using ProtoBuffs instead of REST, the difference will likely be fairly slight in most cases. If you're planning to stream audio, you will likely need to either use the SDK or your own ProtoBuff implementation because REST doesn't handle that as well. If you're just sending text, and are more comfortable with doing REST APIs, then this is a perfectly reasonable approach.
There is no "local Dialogflow" library. All calls have to go over the network. There are other libraries that do Speech-to-Text and NLP locally if that is what you need.

how to write own logic without using qnamaker

I am still trying to understand Chatbots. Currently i have already made chatbot which is integrated in skype. I have Sharepoint online where user search for FAQ. If they dont find then they ask BOT which sends request to LUIS and Qnamaker.
Qnamaker then sends response back by looking it into its database. I upload FAQ from sharepoint to Qnamaker using sharepoint workflows. But i want to write my own logic and get rid of Qnamaker.
What are ways to do it? Any good tutorials? I also wanted to know how the flow happens. For example if we dont use Qnamaker then we fire queries in sharepoint based on what user asked? I dont understand how i can fire queries in sharepoint if user makes typo then we will not get anything from sharepoint. So any tips on how to implement this without using qnamaker is highly appreciated?
The FAQ bot generator is a subset of the main Microsoft bot framework. You should do some research on the Microsoft Bot Framework. The link above takes you right to the documentation overview of the bot framework and from there you can get into developing one. They have links to a few sample projects as well as a large number of code snippets within some of the article explanations. It has a full setup guide that will walk you through the initial setup so it should be easy to get a basic echo bot running, but if you are not a programmer you should stick to the FAQ generator.
I suggest you use either node.js or c# to develop the bot since these are directly supported by the framework. I am personally using c# to build my bot from the ground up. The purpose of mine is to be used within a customer facing android/ios app that will help with questions, checking the status of different things, and even paying bills.
Just remember you will need to manually set up your cloud hosting. I host mine in azure alongside a web interface I built for it (you can build the website inside your bot if you are using c#, just replace the default.htm file in the web.config with the main page of the interface).

Resources