I've created a interactive chat bot using the Microsoft Bot framework (.NET Core). I want to consume it in my website as widget. Is there any way i can do it. I don't have azure subscription nor i can afford it so please suggest an alternative way.
Ex: like converting the bot project to a web service or micro service and consuming it or may be creating a API of this and consume it
PS: I'm not sure about this.
Please help me with this
Bot Framework SDK documentation says that Web App Bot is deprecated. But there is no information about the difference between development with Azure Bot and (deprecated) Web App Bot. What exact changes should be done if we migrate form one service (Web App Bot) to another (Azure Bot)?
In regards of other contributor's answer, I think main concept and
queries has not explained accordingly, so I felt it requires more
explanation in addition to clear the OP's main concern.
Questions: But there is no information about the difference between development with Azure Bot and (deprecated) Web App Bot.
The Bot Service behind Azure Bot and Web App Bot/Bot Channels Registration is the same; the change is in how the resources are
created that you use in your bot such as web apps, language
understanding, and more.
Rather than the one size fits all templates that the Web App Bot used,
Bot Framework Composer can be used to create resources for the Bot
with much more flexibility than the Web App Bot templates allowed.
Bot Channels Registration and Azure Bot are basically the same
capabilities renamed. The UX is slightly different in the Azure Portal
to help customers connect to the Bot Framework Composer.
Its clearly documented here in the official document you can get here
Questions: What exact changes should be done if we migrate form one service (Web App Bot) to another (Azure Bot)?
Currently migration from Web App BottoAzure Bot isn't supported.
If your Web App Bot isn't being used in production, you can delete
your old Web App Bot resource and reuse the bot name and app ID in a
new bot resource (after some time for the old record to get deleted).
The new Azure Bot is designed around creating your bot using
Composer, Bot Framework SDK, and so the gains from such a migration
would be minimal. You can get the official explanation here
Note:
Now you might be wondering, what about your existing Web app bot. Your bot and other resources will continue to work without any problem and you don't need to migrate your old web app bot in this aspect.
One question may arise,then why its been depricated or no longer be used?
The answer would be, Functionally though Azure Bot, Web App Bot, and
Bot Channels Registration all utilize the Bot Service in the same way
"under the hood". The Azure Bot path is easier, and more
configurable for developers in comparison of Web app bot
Hope above explanation will redeem your concern.
The Azure Bot is like the Bot Channel Registration. It is a global resource that identifies your bot to toher Azure resources and contains configurations and settings for the bot's external messaging endpoint, channels (Teams, Web Chat, Email, etc.), Exposing APIs, OAuth settings, and more.
To actually host the bot, you would use an Azure App Service. You would create one during the deployment process.
As the stated in the linked docs, existing resources will continue to work. Note that the docs specify that migration is not supported. Moving forward, when you build a new bot, you should use a combination of an Azure Bot for identity and configuration and an App Service to host and run the bot.
I have deployed a web app bot on Azure for my team on the channel Microsoft teams. I would like to record all conversations of the bot. What are the available options or resources where we can store conversations with users?
The goal is to evaluate the good answers/responses rate from the chatbot.
Thanks
Moving comments to answer section for better visibility.
I think you would like to store your bot conversations to analyze them later for quality. The available options in this scenario are Azure blobs or cosmos db with minimal configuration changes to your existing bot. If your use case is to provide a Q&A to users then you might want to use Azure QnAMaker instead and create a knowledge base and publish a bot from this service. This allows you to use QnAMaker's inbuilt active learning feature and improve your bot's response by approving or rejecting alternate suggestions.
Is it possible to connect a Google Chat room using Azure devOps WebHooks?
Thanks
Web Hooks in Azure DevOps provide a way to send a JSON representation of an event to any public endpoint (HTTP or HTTPS).
But it's not able to directly contact Google chat room with Azure DevOps. Cause DevOps sends a JSON message in a format that Chat is not able to understand. Which means they do not talk to each other by default.
We need a way to transform the message and tie those two services together. There are a lot of options for that. We could use a 3rd-party tool Zapier.
It allows to easily integrate various services and APIs and I highly
recommend it, although it is a subject for another post.
You could refer this step by step tutorial-- Azure DevOps integration with Google Hangouts Chat
I'm wondering how I would connect a microsoft bot written in c# with a signalr chat.
To be specific: I have a signalr chat in which users can talk to "coaches". But the bot has to listen to these chats in case the user asks the bot something (or other reasons the bot needs to do something). How would I do this?
Check out these resources that should give you enough combined information for you to build a connector for your bot to interact with SignalR.
This tutorial details how to build an ASP.NET Core app that integrates SignalR. Utilizes the SignalR client library.
This doc discusses how to build an Azure Function that "can leverage the Azure SignalR Service bindings to add real-time capabilities." I don't know if you are using the Azure flavor of SignalR and you don't mention Azure Functions, but this could give insight in how to design and implement.
You may need to use the BotFramework REST APIs (docs here) to forward and receive activities to your bot (depending on how you structure it all). If you build the connector as part of the same project as your bot, then this is less likely.
You will need to understand the activity schema so you an correctly interpolate the data being passed to and from your bot.
Lastly, here are some connectors from the Botbuilder-Community repo that you can use as a reference (Alexa, Google, Twitter) for development.
As you are probably aware, you need to build a service that allows your bot to connect to SignalR. This means authenticating against your SignalR service to retrieve a token or similar. Once that is complete, then it's a matter of the data being passed around. If you can successfully pass data, then it's configuring your bot to reply and send activities that SignalR can accept (for instance, a hero card may render while an adaptive card may not).
Hope of help!