Direct Line API - Bot Framework - botframework

"You can enable communication between your bot and your own client application by using the Direct Line API."
The way I see, Bot (created using botframework) itself is an endpoint. Why can't we use Bot's API directly to communicate with the bot?
Why do we need Direct Line?

The Bot Framework provides tools and services to help you build, deploy, and publish bots, including the BotBuilder SDK for .NET and Node.js, the Bot Developer Portal, and the Bot Connector.
The Direct Line protocol is provided so you can connect your bot to a custom chat interface, aka WebChat, or to a custom web or mobile app.
You don't need to use the Direct Line API if you only want to communicate with your bot via the supported channels such as Skype, Bing, Slack, MS Teams, Telegram, Twilio SMS, and more.
While the bot is a type of API application, it does not exist in isolation, and requires the Bot Framework channel connector service in order to relay your bot's messages to the various connected channels such as Skype or Slack. If you sent messages directly to your Bot's API without having it connected to the rest of the ecosystem, the bot wouldn't know where to direct the respective messages.
Bot Framework Architectural Overview
For more information on Bot Framework architecture, see: How the Bot Framework works.

Related

Add skype bot to a group

I have created a Skype bot using the Microsoft Bot Framework and published it with Azure bot channel registration. I can chat with the bot and it works fine.
But I'm not able to add this bot to any group conversation.
I've made sure that Enable adding to a group option is selected for this bot in the Skype channel config section.
EDIT:
A day passed and now I can add bot to groups and see its avatar from Skype PC client. But I have the same issue when working from Mac / iPad client.
Per Skype tech support, the Bots support functionality will be discontinued.
But according to Azure channels documentation:
As of October 31, 2019 the Skype channel no longer accepts new Bot publishing requests. This means that you can continue to develop bots using the Skype channel, but your bot will be limited to 100 users. You will not be able to publish your bot to a larger audience. Current Skype bots will continue to run uninterrupted
I'm ok with my bot being limited to 100 users, I just want it to work and behave correctly on all platforms.
EDIT 2:
Now bot works fine on all the platforms I have. Not sure if this was a caching issue on Skype side or if recent app updates fixed that.
You might be interested in this answer: Add bot to existing Skype group chat
If you use the Add bots button in the group profile you will only be
able to look up published bots:
However, if you use the Add to Group button in the upper right corner
(not available in the mobile client), you can find your bots that are
still in preview:
As you can see, this currently only works in the desktop client. If you are getting undesired behavior in other clients, the only thing anyone can do on Stack Overflow is recommend workarounds or tell you to report the bug. Since Skype bots are mostly deprecated, I do not expect this bug to be fixed but you can try to report it anyway. My recommended workaround is to stop using deprecated channels if you would like a better experience. Microsoft Teams is great for corporate communications. If you want personal communication then you may have to use a third-party channel like Slack or Telegram.

Registration of new bots for skype

I need to create a Skype bot, but registration of new bots was terminated.
In this regard, I have several questions:
Will an alternative technology for automatically sending messages to classic skype (No skype for business) be provided?
will registration of new bots be renewed, if so how soon?
is it possible to register a bot as an exception? Since it is extremely important for the further development of our software product.
As per the documentation
As of October 31, 2019 the Skype channel no longer accepts new Bot publishing requests. This means that you can continue to develop bots using the Skype channel, but your bot will be limited to 100 users. You will not be able to publish your bot to a larger audience. Current Skype bots will continue to run uninterrupted. Learn more
You are still able to develop Skype bot but they will be limited to 100 users.
I think they are more focusing on Microsoft Teams instead.

C# Bot Framework Registration

I am trying to determine if all .NET Framework bots need to be registered on https://dev.botframework.com? Do all convesations actually travel through dev.botframework.com? My company would have a bear with this.
You can use the Bot Framework Emulator and develop a bot using node or .net without registering. However, if you want to connect to a channel (Facebook Messenger, Skype, Telegram, Direct Line, etc) then you will need to register the bot on Azure. Azure hosts the channel connectors that translate messages from native channel format to the Activity Schema used by the Bot Framework.
That said, there are some community efforts towards enabling bot communication without registering: https://www.npmjs.com/package/offline-directline There are many limitations though.

Connect Azure Web App Bot to an external chat service that is not in the Channel list?

For instance, Mixer's chat API requires bots to listen on a web socket, but Azure App Bots require apps to post to messages to it.
The bot is essentially an API server. The /api/messages route is one endpoint. You may define as many endpoints as you like on your bot server to handle whatever other activities you need to handle, such as websockets.

Does Microsoft's bot framework support Slack's Real Time Messaging API?

We cannot open our slack app to be accessible to public, but our app can make calls to internet. I planned to use Slack RTM api to open web sockets to talk to Slack. Does bot framework support web socket?

Resources