How to connect local WebChat client to a bot running locally? - botframework

Is it possible to talk to my bot via WebChat like I'm doing it via Emulator, Without registering and publishing the bot on Azure?

You will need to register the bot in the BotFramework portal and enable the WebChat channel. Registering the bot doesn't mean that the bot will be published to the bot directory. You don't need to publish the bot to using it.
Also, you don't need to publish the bot in Azure to use it. Instead, you could use ngrok to create a secure tunnels to localhost.
You can check the following links:
https://docs.botframework.com/en-us/node/builder/guides/core-concepts/#debugging-locally-using-ngrok
https://robinosborne.co.uk/2016/09/19/debugging-botframework-locally-using-ngrok/
Update 21/12
Just remembered that since the WebChat is now open source, you might have an option to run it locally as described in the README.md. Below the relevant portion of the docs.

Related

Testing issue with LUIS bot on Bot framework emulator

I am following this guide to develop chatbot:
https://learn.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0&tabs=csharp#test-the-bot
When I tried to test the bot with Bot Framework Emulator, I am unable to get a response.
[15:17:43]Emulator listening on http://[::]:60595
[15:17:43]ngrok not configured (only needed when connecting to remotely hosted bots)
[15:17:43]Connecting to bots hosted remotely
[15:17:43]Edit ngrok settings
[15:17:43]-> conversationUpdate
[15:17:44]POST500directline/conversations/<conversationId>/activities
[15:17:51]-> messagehi
[15:17:51]POST500directline/conversations/<conversationId>/activities
Is this have to do with my company security blocking ngrok?
My Echo bot works fine, but seems like I am having issue with the LUIS function. Is there a way to make it work and link it to MS teams?
Help needed

On-premise Chatbot unable to receive msg from Teams

We have set up the following network:
chatbot setup
Our internal chatbot is written in C#, and runs in .NET core linux env.
As of now, we are able to use the Bot Framework's Web Cmd to Send and Receive from our Internal Chatbot. But we are unable to use MS Teams to communicate with our Internal Chat Bot. We have set up App ID and App Password in the MS Team's App via App Studio.
We also enabled External App and Sideloading.
Is there any way to troubleshoot this? or is there something we may have missed?
Thanks in advance
As per this documentation, You need to also enable the Teams channel for your bot in the Azure Portal under Bot Management > Channels, for this to work.

How to connect local hosted Azure BOT from your web application

I have created an BOT with Microsoft BOT Framework and published in local IIS. Now I want to connect that from my web application, So far I found this could be only possible through direct line from azure portal. Is there any other way to do that?
Now I want to connect that from my web application, So far I found this could be only possible through direct line from azure portal. Is there any other way to do that?
In my opinion, the Microsoft BOT Framework application is just a service which provide the bot endpoint. You could host it in anywhere.
If you want to connect to your web application or something else. You need to use a channel to connect the bot with other application. You should register the bot and enable the channel to let your bot work. The Azure provide multiple chanels to register the bot like webchat. You could also build the channel by yourself, but you should think about a lot of things.
More details, you could refer to below answer:
How to connect local hosted Azure BOT from your web application

Open channels to bot without azure

I have a bot created in Azure, and I want to know if it is possible to open channels for this bot without having to go to Azure, ie through Visual Studio or another tool.
Thanks in advance for the help.
Marcelo,
Unfortunately, you can only configure bot channels through the Azure portal. There are currently no options for automation, REST API, etc. More information can be found here
I want to know if it is possible to open channels for this bot without having to go to Azure
Azure bot service provides a way to easily and conveniently connect a bot to various channels, if you want to connect to the specific channel(s) without Azure, you can check if the specific channel(s) expose REST API for exchanging messages, and then you can try to write your own channel connectors that would take Activity objects and translate them back and forth into the specific channel's message schema.
Note:
1) This github issue discussed "Is it possible to use the BotFramework SDK to connect to channels (telegram, skype...) without need to pay any Azure service?", you can check it.
2) The Bot Framework Emulator works on local, you can connect to a bot running locally.

Is it possible to test my Bot application in Microsoft Teams or Skype after registering in bot dir but without publishing it?

I have registered my bot application in MS Bot directory. I can able to communicate with my message endpoint using Bot Framework Emulator. but when I tried the same in MS teams and Skype. the bot is not responding to my message.
Yes, it's possible. You need to use a tool like ngrok to create a tunnel to your local environment.
In a nutshell, you need to run (assuming your local bot is running on port 3979):
ngrok http -host-header=rewrite 3979
And then update your bot endpoint in the Bot Framework portal with the url ngrok will provide you.
(source: windows.net)
See this post for all the details

Resources