I need to run the microsoft botframework v4 on-premise since company internal restrictions forbid me to register the bot on Microsoft Azure or use the connector in the cloud. My idea is to use offline-directline to emulate the connector locally. To my knowledge, the package has been built for Microsoft Botframework V3 and not v4. Has anybody managed to use it for v4?
I followed through instructions however got stuck trying to implement the web chat client. Where and how do I implement
BotChat.App({
directLine: {
secret: params['s'],
token: params['t'],
domain: params['domain'],
webSocket: false // defaults to true
},
in the index.html file of directline v4? The documentation of "offline-directline" is only for Botframework v3.
Is there a sample repository where I could find some info from?
Please refer to the instructions in the BotFramework-WebChat repo to see how to host Web Chat v4 in a website. You'll find something that looks like this:
<!DOCTYPE html>
<html>
<body>
<div id="webchat" role="main"></div>
<script src="https://cdn.botframework.com/botframework-webchat/latest/webchat.js"></script>
<script>
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token: 'YOUR_DIRECT_LINE_TOKEN' }),
userID: 'YOUR_USER_ID',
username: 'Web Chat User',
locale: 'en-US',
botAvatarInitials: 'WC',
userAvatarInitials: 'WW'
}, document.getElementById('webchat'));
</script>
</body>
</html>
Rather than passing the same kind of object to window.WebChat.renderWebChat
's directLine
parameter as you would to BotChat.App
's directLine
parameter, you need to pass the object to window.WebChat.createDirectLine
. The object in question is a DirectLineOptions
object.
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({
secret: params['s'],
token: params['t'],
domain: params['domain'],
webSocket: false // defaults to true
}),
If you don't want to have to pass in any parameters to your Web Chat client, you can include them inline:
secret: '',
token: '',
domain: 'http://localhost:3000/directline',
webSocket: false // defaults to true
And if you're not particular about running Web Chat in your own HTML page, I recommend foregoing offline-directline and just using the Bot Emulator, which is great for interacting with local bots.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With