microsoft / botframework-sdk

Bot Framework provides the most comprehensive experience for building conversation applications.
MIT License
7.5k stars 2.44k forks source link

Is it possible to use the BotFramework SDK to connect to channels (telegram, skype...) without need to pay any Azure service? #4340

Closed raulfmiranda closed 6 years ago

raulfmiranda commented 6 years ago

Is it possible to use the BotFramework SDK to connect to channels (telegram, skype...) without need to pay any Azure service? Or I must pay for a Azure service if I want to connect my bot with other channels (skype, telegram...)? In other words, the BotFramework SDK can help me to connect my bot with other channels programatically without the need of using an Azure service? If it is possible, should I use the class BotConnector or something like that? How can I do that?

stevengum commented 6 years ago

To connect to Microsoft channels, you need to use Azure, i.e. Skype, Skype for Business, MS Teams and Cortana.

For 3rd party channels, as long as the API is public you can connect to it without going through Azure (or if you have something setup with the service you're trying to connect to). You can write your own channel connectors if you like the BotBuilder SDK and plug them in. Your connectors would take Activity objects and then translate them back and forth into the 3rd party channel's message schema.

Ultimately, the BotBuilder SDK provides some convenience to deploying a bot that can talk to multiple channels without much (if any) configuration on your part.

stevengum commented 6 years ago

Closing this issue as the question has been answered, if you have any follow-up questions related to this topic, please feel free to reopen the issue and @-mention me.

adneerav commented 6 years ago

Web Chat (Not skype or any ms channel) is possible without using azure service ?

EricDahlvang commented 6 years ago

@adneerav The emulator works offline. There are also some 3rd party libraries, like this: https://www.npmjs.com/package/offline-directline However, this does not support all of the functionality found in the Direct Line. It would be a big job to create an offline solution that handles security, auth, state, multiple users, etc Microsoft does not provide a library for this.