How can I ask for a location into a waterfall dialog? - c#

I am programming a chatbot in .Net Core 2.1.
I want to ask the user for a location such as here. But in my conversation, I use a waterfall dialog (from Microsoft.Bot.Builder.Dialogs) and there is no Location Prompt in this library. So my question is, is it possible to use this code into a waterfall dialog? If yes, does anyone have an idea about how to do it?
Thank you for your time

Short answer: No. That repo uses BotBuilder V3 and Waterfall Dialogs are in V4. However, there is a V4 version available in a different repo.
Long answer: The BotBuilder-Location Repo uses BotBuilder V3, which is pretty outdated. If you want to build a bot with that prompt in V3, the BotBuilderLocation Samples and the BotBuilder V3 Samples should help.
That being said, I highly highly recommend against building a new bot in V3--there are fewer features and much more limited support and documentation.
Prompting for Location in V4
First, I recommend taking a look at BotBuilder Community Extensions. These are unofficial extensions to the Bot Framework. There' actually already a Location Dialog available, which is the same as you linked, but ported to V4. It has samples and very good instructions to get it running within a Waterfall Dialog.
Additionally, Virtual Assistant does something very similar in its Point of Interest Dialog, that you can look at for an additional example.
If you're wanting a much simpler prompt for location, I recommend reading the Prompt Users for Input docs. I'm not sure what your experience level is, but this is a good place to start for a beginner.

Related

Conversation Management for Intents in MS Bot framework

I am using C# MS Bot Framework V4.0 and using LUIS for intent identification. As you aware we are having Dialog classes for managing conversations for a particular intent by using Waterflow dialog etc.. For each and every intent we need to create a dialog class and manage the conversation flow using the same. Or else we can have a standard JSON template and can have a generic Dialog class for handling all conversations based on the flow in that JSON for that identified intent.
But are we having any UI/UX tool for configuring/managing or training the conversation flow of each and every intent like the parent and sub intent concepts present in Dialogflow?
Is that possible in LUIS, because i can see only intent and entity identification in LUIS?
Is there any other way we can achieve that conversation management instead of coding?
For a "no code" option, you can use Power Virtual Agents. But it's not directly portable from your coded version, and it is not going to have the same level of capabilities depending on how complex your dialogs are. There's also a separate license for it, though you can sign up for a free trial.
Microsoft is working on an opensource project called MS Bot Composer. Using which we can build our dialogs using just drag and drop. Also it can be connected to LUIS and QnA Maker which few setup. It is in preview mode and will be released soon.

Mono application recording desktop/running application into movie

I have to create screen/current application recording tool into movie working on Windows and MacOS. I'm going to use Mono and I found a PAID library ByteScout for it.
I'm wondering if there is any FREE library for Mono doing the recording of screen/running application?
Any OTHER suggestions/solutions?
I would try OBS as it is cross-platform by nature.
It may not be the right fit licensing wise, so pay attention to this front.
As far as the Official development, C# is not the language of choice used to develop OBS, but there are others out there who have made some headway on this front.
I would recommend GoaLitiuM's C# wrapper re-write "libobs-sharp" as a starting point, as Mono is a part of this user's goals in the effort.
Appended Information
If you are not happy with the progress of the open source community's efforts, you can always download the OBS source yourself, and begin to make your own wrapper(s) as well.
This article may be helpful

Microsoft BotFramework for private apps

I would like to use Microsoft Bot Framework to build a chatbot for an app that I am building, and I do not want it to be working in Skype, Facebook or any other channels.
Is that possible? And are there are cost involved.
If you are going to connect your bot into your own chat application, best way is to use Direct Line Rest API. So disable everything except Direct Line
For an example about how you can use Direct Line API please refer this link.
Another important thing is to use Bot Framework V3. Not the previous
versions. The team made changes in the new version by implementing
enhancements for the future. So those features and structure are much different
than previous versions.
This means V1 is deprecated, meaning almost all of your code would need to be rewritten for V3.
There is no cost for you to enable or disable any channels right now. In the below picture, Bot Framework Developer Portal gives you the full control to add new channels or delete them from you bot.

Google Analytics for Desktop Application

I wanted to have analytics for my upcoming alpha release so I can analyse how the program gets used, how often errors occur and so on.
Implementing an own approach of such is quite difficult and time consuming. Today I saw that the developers of the game "Rust" have implemented Google Analytics to track session times, average framerates based on system architecture and so on. So obviously desktop applications can use GA for that.
Now I did some research and I haven't found out anything. I have the C# assembly for Analytics V3 but I don't get how I can use it to report any data. I created a Developers Console project and added the Analytics API to the project.
But now? Analytics has only Website or Mobile App properties, authentication has only website, server or mobile apps but nowhere is something mentioned about desktop apps.
I've seldom seen such well undocumented features. Not even google spits out helpful information about the usage. All tutorials I can find are about ASP.Net websites and hence not helpful.
Does anybody know how this works? Is there any support planned on the part of Google? Is it even allowed (I guess so if Rust's developers use it)?
Thanks for any help!
You can use a packaged lib available on NuGet which does most of the heavy lifting of sending data to google analytics. The lib uses performance protocol as mentioned by #osowskit.
Here is the link to one of them. Its open sourced so you can modify the code to your needs.
https://www.nuget.org/packages/GoogleAnalyticsTracker/
Source - https://github.com/maartenba/GoogleAnalyticsTracker
Rust game is based on Unity and Google has created Google Analytics Plugin for Unity that "...allows game developers to easily implement Google Analytics in their Unity games on all platforms, without having to write separate implementations.". That is probably what Rust developers are using.
The closest support for non-Unity desktop applications you can get from Google is Analytics Measurement Protocol which allows you "to send raw user interaction data directly to Google Analytics servers". That data could be visited screens/views, events, exceptions etc...For the comprehensive protocol description see Developer Guide.

How we can call third party windows app like skype and fill username and password using c#? [duplicate]

I'm looking for a library that can be used in native .NET code, just like any .NET assembly. The purpose of the library must be to automate Windows (push a button, select a window, send keys, record & playback, that sort of thing).
So: the library is supposed to be used natively in .NET, but the automation itself must be able to target any native or .NET Windows application that can receive user input.
Suggestions so far:
benPearce suggested AutoIt. It has a DLL, which is native Win32 but not native .NET and cannot be used without use of .NET Interop.
Chris Dunaway suggested Global Mouse Keyboard Lib. This came closest, but is not an automation lib. It just helps setting up keyboard and mouse hooks.
pm100 suggested Microsoft's WPF UI Automation. This one is pretty good, albeit that it's not available if you develop in .NET 2.0 and it requires the WPF to be installed on the system. It can, however, automate everything from Win32 apps to HTML in a browser.
JasonTrue suggested WebAI from ArtOfTest. This is a testing framework mainly geared towards browsers and web applications. It is unfortunately not well suitable for use for Windows automation.
If nothing else appears available, I'll probably choose Microsoft's UI Automation and upgrade any projects that require it that are still in .NET 2.0 to .NET 3.5, if possible. But I hope for a more widely applicable automation framework (.NET prior to 2.0 does not need to be supported).
Have you looked at the White framework?
I have used AutoIt in the past with success.
microsoft's own built in one is fine
http://msdn.microsoft.com/en-us/library/ms747327.aspx
not restricted to wpf as some seem to think.
If you haven't seen it yet, and a commercial library is acceptable, you might check out Ranorex:
http://www.ranorex.com/
I used Ranorex 1.5 quite a bit to write small C# UI automation utilities. It was pretty effective! Development seemed faster compared to using the MS UI Automation API directly, since Ranorex has a lot of useful convenience methods already available.
I haven't used Ranorex 2 very much yet, though.
In Ranorex 1.5, there was also support for traditional Win32 development in C++, but I didn't use it. As far as I know, that's still available in Ranorex 2.
I can't speak to the quality of the record/playback support in Ranorex since I never used that feature.
One final plus: Their support team was really responsive and helpful anytime I emailed them.
This library is pretty interesting and is fairly simple. Perhaps it will help you.
Check out Tools for automated GUI testing on windows
I would still suggest FlaUI for autoamating .Net Desktop,Mobile apps. Its based on Microsoft UIA libraries and have support for external controls like the DevExpress Grid too
Moreover, it is built on top of TestStack.White so indeed a very good library and has a github page also
I have used WebAii from ArtOfTest with a fair degree of success in automating integration testing for a Silverlight app. It also supports WinForms and Web applications.
Microsoft UI Automation, the successor to Active Accessibility, can do almost all of the Windows UI automation you would need.
How about CSharpScript, here's an article about it on Codeproject, and here's the link to the main website. Furthermore, it is familiar C#, scripted which can be used to automate anything.
Hope this helps,
Best regards,
Tom.

Categories