BotFramework-Emulator | desktop application that allows users | Bot library
kandi X-RAY | BotFramework-Emulator Summary
kandi X-RAY | BotFramework-Emulator Summary
A desktop application that allows users to locally test and debug chat bots built with the Bot Framework SDK.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of BotFramework-Emulator
BotFramework-Emulator Key Features
BotFramework-Emulator Examples and Code Snippets
Community Discussions
Trending Discussions on BotFramework-Emulator
QUESTION
I have been following the tutorial (Bot Framework Integrate Composer Into Skill Project) to integrate composer dialogs with a skill project. This includes composer created dialogs which call a skill. I am running into the exception "Value cannot be null. (Parameter 'uriString')" when calling the skill.
I ran into various other issues when setting this up, as outlined here Previous Issues, which have been resolved though I had to do a work around to get the settings to work. I now need to determine why the configuration settings are not resolving.
To recreate the issue use the "skill-setting-issue" branch of the repo Git Repo
Prerequisites
Install Bot Emulator:Bot Emulator Install Instructions
Open the solution file in visual studio Integrate-Composer-Dialog-Using-Skill.sln
Put a breakpoint on line 79 of DefaultAdapter.cs - this is where the error can be seen
Start debugging the project
Open Bot Emulator
Connect to the bot: http://localhost:3978/api/messages
Type "Greeting"
Bot should respond with "Hello, I have recognized that you said greeting" - This means that the composer dialog integration is working as expected.
Type "Skill"
The breakpoint on line 79 of DefaultAdapter.cs should trigger giving details of the error.
The error seems to be occurring because the settings values within Composer-With-Skill.dialog between line 52 & 57 cannot be resolved.
...ANSWER
Answered 2020-Dec-18 at 22:36Determined that the IConfiguration instance which was configured & created in the constructor of Startup.cs was not being used when dependency injection was happening on IConfiguration. This was causing the new configuration files added not to be available.
Added
QUESTION
I am working on creating a workflow which allows composer created dialogs to be integrated into a bot skill project.
To accomplish this I am trying to follow the instructions in this post: https://microsoft.github.io/botframework-solutions/skills/handbook/experimental-add-composer/
My composer created dialogs including calling a skill. When I initiate that intent through the Bot Emulator I get this error: System.NullReferenceException: 'Unable to locate SkillConversationIdFactoryBase in HostContext'
The setup to get to this error is time consuming so I have created a git repo which can be started fairly easily to demonstrate the issue.
The project can be found here: https://github.com/silverbulletgt/Integrate-Composer-Dialog-Using-Skill
To recreate the issue:
Prerequisites
Install Bot Emulator: https://github.com/Microsoft/BotFramework-Emulator/blob/master/README.md
Open the solution file in visual studio Integrate-Composer-Dialog-Using-Skill.sln
Put a breakpoint on line 72 of DefaultAdapter.cs - this is where the error can be seen
Start debugging the project
Open Bot Emulator
Connect to the bot: http://localhost:3978/api/messages
Type "Greeting"
Bot should respond with "Hello, I have recognized that you said greeting" - This means that the composer dialog integration is working as expected.
Type "Skill"
The breakpoint on line 72 of DefaultAdapter.cs should trigger giving details of the error.
Error & stack trace can be found here: https://github.com/silverbulletgt/Integrate-Composer-Dialog-Using-Skill/blob/master/Readme/error%20stack%20trace.txt
Edit: I was able to compile the Bot Builder code Bot Builder GitHub & connect it to my project so that I could debug. I found the error to be happening on line 157 of Microsoft.Bot.Builder.Dialogs.Adaptive.BeginSkill.cs code BeginSkill.cs.
This line is trying to get the SkillConversationFactoryBase out of the dialogContext.Context.TurnState. I'm investigating how I might add this so that it is populated when this code executes.
...ANSWER
Answered 2020-Dec-18 at 17:44- Fix: System.NullReferenceException: 'Unable to locate SkillConversationIdFactoryBase in HostContext' in Microsoft.Bot.Builder.Dialogs.Adaptive.Actions.BeginSkill
This error was being caused by missing dependency injection requirements. Added the below lines to Startup.cs
QUESTION
I need to hide the secret for direct line channel using an HTML webchat, tried this solution but keeps getting me errors while fetching. I got the secret for direct line channel in Azure portal in process.env
Index.js
...ANSWER
Answered 2020-Oct-27 at 02:37The issue with your particular implementation is, while you have set up an API for generating and serving a token back to Web Chat, you are failing to actually call that endpoint. Instead of
const res = await fetch('https://directline.botframework.com/v3/directline/tokens/generate', { method: 'POST' });
you should have
const res = await fetch('http://localhost:3978/directline/token', { method: 'POST' });
It is this that will make the call to exchange the Direct Line secret for a token and, in turn, will return the token back to your Web Chat instance.
QUESTION
I want to return the output of an app version using go
Why does the below fail?
...ANSWER
Answered 2019-Jul-24 at 14:21The backslashes you need in command line are to escape the spaces to prevent them from being treated as argument separators by the shell. Since there is no shell involved executing this way in Go, you don't need them. You can just:
QUESTION
I am new to Microsoft Bot Framework. I created my first bot application by using bot application template on Visual Studio 2015. it is running fine and below is the message I get when i run this.
Describe your bot here and your terms of use etc.
Visit Bot Framework to register your bot. When you register it, remember to set your bot's endpoint to
https://your_bots_hostname/api/messages.
And I have downloaded botframework-emulator 3.5.29 and installed. On the emulator i have entered http://localhost:3979/api/messages/ and left the App Id & App Password fields as empty. everything was looks fine. But when i type any message on the emulator I am getting Couldn't send retry notification on emulator.
Please can anyone help me on this.
Thanks,
...ANSWER
Answered 2017-Jul-17 at 14:49You need to download ngrok.
In the log click on Edit ngrok settings
and select the file ngrok.exe
When are you finish try connect to this url http://localhost:3979/api/messages
QUESTION
I have been able to find C# Bot Builder V4 SDK templates and tutorials for Visual Studio for Windows. However, I can't find the equivalent for the Mac. There are V3 templates around for the Mac but I have seen lots of comments that indicate that V4 has breaking security changes, so I don't think that the V3 templates will work. I tried to download the template from Azure, however, it makes assumptions about the location of the .bot
file. While there is documentation about how to address those in Windows, the process does not work on the Mac. Microsoft.Extensions.Configuration.UserSecrets
does not add the context menus described in the documentation.
I'd like to edit, build and run locally.
Update: Here is how to use Azure Basic Bot template locally:
To run this bot locally
- Download the bot code from the Build blade in the Azure Portal
- Update the
appsettings.json
file in the root of the bot project with the botFilePath and botFileSecret - You can find the botFilePath and botFileSecret in the Azure App Service application settings.
Your appsettings.json file should look like this
...ANSWER
Answered 2019-Jan-28 at 16:48Here is an extensive list of BotBuilder Samples which can be used as a starting point: BotBuilder-Samples
Update: Some of the sample code is out of date and will not build properly.
QUESTION
I am struggeling to understand how to get tokens. I know why I should use them, but I just don't understand how to get them. All the samples that uses Tokens just fetch them from "https://webchat-mockbot.azurewebsites.net/directline/token" or something similar. How do I create this path in my bot?
Describe alternatives you have considered
I was able to create something which worked with my JS-Bot:
...ANSWER
Answered 2020-Jan-20 at 07:07I have posted an answer which includes how to implement an API to get a direct line access token in C# bot and how to get this token, just refer to here. If you have any further questions, pls feel free to let me know .
Update :
My code is based on this demo . If you are using .net core, pls create a TokenController.cs
under /Controllers
folder:
Code of TokenController.cs
:
QUESTION
I have an azure chat bot and I use it per direct line channel. It is working fine if I use the secret directly in the HTML, but due to safety reasons I want to use Tokens. Thats why I used that:
...ANSWER
Answered 2019-Dec-09 at 08:37Based on my understanding , you exposed an API to grant access tokens to your bot clients by post method to your bot clients. Your bot clients use JS script to invoke this API . As you are using post method, so your bot clients will encounter CORS issues .
Based on the host of /token-generate
url , this API is hosted on Azure webapp , you can just refer to this doc to define allowed domains to call this API from a static page by JS on Azure portal directly.
You can find the Azure webapp which hostes your API code here :
If you are just testing your bot from local static html file , adding "*" and remove other domains in CORS config will solve this issue .
Hope it helps . If you have any further concerns , pls feel free to let me know .
QUESTION
I'm trying to put a simple adaptive card in my chatbot that collects the user's name and email. I can't figure out how to actually get the input from the card.
In the waterfall step where I display the dialog. I can't figure out what property should have the JSON string returned from the Action.Submit button.
I've included the json dialog and my TypeScript files. My MainDialog starts ClientCheckDialog on line 146, ClientCheckDialog starts GetContactInfoDialog on line 86
This is the json file dialog:
...ANSWER
Answered 2019-Oct-30 at 21:49Now that I've reviewed your code, I've found the answer. First, a few points:
- Virtual Assistant is still in Preview and the TypeScript version of it is a lower priority than C#. Expect bugs. Also, there's a better-than-zero chance it's going to change pretty drastically in the future. Personally, I'd use it for ideas, but develop by starting with something like CoreBot and then integrating in the stuff you actually need.
- I have no idea why adding
this.onDialog(this.activityToText.bind(this));
results in a double-welcome message. I think it has to do with point 1. - The reason this didn't work is my own fault. I included
trim()
because it mirrors the C# version of this answer, but it actually breaks it because it doesn't result in a falsy value. Sorry for the confusion and I'll edit my other answers. - You don't need
turnContext.activity.text = JSON.stringify(turnContext.activity.value);
at the end.
More info about Point 4
I'm going to expand on this because it's an important aspect of Javascript to understand.
When you have:
QUESTION
I need to make a bot to send a message each ten minutes using Javascript. I'm using Microsoft Bot Framework, this is the entry code:
...ANSWER
Answered 2019-Oct-01 at 17:56What you want to do is called proactive messaging. You can have a look at this document and the sample it references to better understand how to do this.
If you want your proactive messages to be triggered by a timer then you can run the timer on a thread in your bot, though it's generally recommended to have the timer running externally.
To disable messaging for your bot, simply choose that option in your channel configuration. I'm not sure how you'll retrieve the conversation ID if you disable messaging, though.
If you still want your bot to receive messages but just don't want to reply to them, simply edit the part of your bot code that responds to the condition turnContext.activity.type === 'message'
.
Please keep in mind that Skype bot features may become increasingly limited. You should see an official message in your Skype channel configuration that says:
As of October 31, 2019 the Skype channel will no longer be accepting new Bot registrations. Current Skype bots will continue to run uninterrupted.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install BotFramework-Emulator
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page