How can I show a restaurant menu with my chatbot? - dialogflow-es

I'm trying to create a chatbot that can take an order from customers. I'm using dialogflow NLP. I got stuck when coming across the concept of showing a menu to the customer. I'm trying to show the total amount of customer's order. Can you suggest me how I can do it? So far I've created an intent and entities on Dialogflow. I have created a webhook using flask that handles the response.

Related

Whatsapp template messages getting rejected in Meta manager

I am a dev trying to make a whatsapp based relationship management system. I had successfully submitted 3 templates but from about 2 weeks now cant seem to get my new templates approved. They are rejected with a commerce policy issue but I am clueless.
This is one of the rejected templates based on commerce policy
Just want to know any of you guys face the same problem and have you found any work around.
Resubmitting, adding samples did not work. Still waiting for a response from Meta.
Thank you fellow devs
I am trying to understand what the problem is and what template text format meta like, so I can get my templates approved

How to build a searchable list with scroll in adaptive card as WhoBot in MS Teams bot framework

I am developing a MS Teams bot using Bot Framework with nodejs.
After the user asks a question, my bot has a list of items to display as WhoBot does, as shown in the below image. Does anybody know how to build this beautiful and clean menu results with a scroll? Or who can guide me on the tutorial or webpage on how to make this? Please help me!
This is the list card implementation. You can find the docs related to it here: https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/design-effective-cards#lists. Regarding the search logic, you will need to implement it at the backend in your application and pass the items to list card.

How to delete learned data?

After learning database - A, I want to delete learned things once and then learn database - B.
However, in the method I tried, I can not erase what I learned once.
I will learn both database - A and database - B.
What you want to hear
ยท How to delete learned data
I upload chatterbot to web using django.
Use python 3
I am a Japanese and I use a translation site, so it may be a bit confusing question.
To delete all dialog data (statements, responses, and tags) from a chat bot's database, the drop method can be called on the storage adapter for the ChatBot instance.
Here is a brief example:
from chatterbot import ChatBot
chatbot = ChatBot('Example Bot')
chatbot.storage.drop()
In addition to the programmatic method of deletion, because you are using Django, you might also find the Django Admin convenient for deleting and modifying individual responses. More information on the Django admin can be found in their documentation.
https://docs.djangoproject.com/en/2.1/ref/contrib/admin/

How To construct Intents in Dialogflow

I'm creating a chatbot to identify questions about store and products and answer accordingly with Dialogflow. But when constructing intents I came across this problem. The approaches I think I can construct as follows.
1st Approach
Create multiple intents
GetPrice, GetColor, GetAvailability, GetType, GetStoreName, GetStoreContact
The difficulty that I found in this approach is I have to create dozens of intents for all product types and for all types of questions about store
The advantage is that I can train for the intents seperately.
2nd Approach
Create 2 intents
ProductQuestions, StoreQuestions
The training has to be done for all the 1st approach question types in those 2
What approach I should take? In future this will be more scalable.
Most logic for conversation design can be based on your personal preferences. If you're looking for best practices, check out Google's documentation here:
https://developers.google.com/actions/assistant/best-practices
As per my opinion you should go with 1st approach. It is more flexible and scalable.
You would need to make many intents for sure but you would be able to get what user wants to know exactly.
In the 2nd approach, you would need to do many things for which you are using DialogFlow.
Try making conversation flow chart before designing the intents.
Using Dialogflow:
WorkFlow:
Open the Actions Console.
Click on Add/import project.
Type in a Project name, like "actions-codelab". This name is for your own internal reference; later on, you can set an external name for your project.
Click Create Project.
Rather than pick a category, click Skip on the upper-right corner.
Click Build > Actions in the left nav.
Click Add your first Action.
Select at least one language for your Action, followed by Update. For this codelab, we recommend only selecting English.
On the Custom intent card, click Build. This will open the Dialogflow Console in another tab.
2. Test with Dialogflow:
Dialogflow generates and uploads an Action package to your actions project automatically when you test it. To test your Action:
Make sure the Web & App Activity, Device Information, and Voice & Audio Activity permissions are enabled on the Activity controls page for your Google account.
Click on Integrations in the Dialogflow console's left navigation.
Click on the Google Assistant card to bring up the integration screen and click TEST. Dialogflow uploads your Action package to Google's servers, so you can test the latest version in the simulator.
In the Actions console simulator, enter "talk to my test app" in the Input area of the simulator to test your Action. If you have already specified an invocation name and saved your invocation information, you can start the conversation by saying talk to instead.
Note: If you don't see a TEST button, you need to click on the AUTHORISE button first to give Dialogflow access to your Google account and Actions project.
For more information refer below link:
https://codelabs.developers.google.com/codelabs/actions-1/index.html#0

how to write own logic without using qnamaker

I am still trying to understand Chatbots. Currently i have already made chatbot which is integrated in skype. I have Sharepoint online where user search for FAQ. If they dont find then they ask BOT which sends request to LUIS and Qnamaker.
Qnamaker then sends response back by looking it into its database. I upload FAQ from sharepoint to Qnamaker using sharepoint workflows. But i want to write my own logic and get rid of Qnamaker.
What are ways to do it? Any good tutorials? I also wanted to know how the flow happens. For example if we dont use Qnamaker then we fire queries in sharepoint based on what user asked? I dont understand how i can fire queries in sharepoint if user makes typo then we will not get anything from sharepoint. So any tips on how to implement this without using qnamaker is highly appreciated?
The FAQ bot generator is a subset of the main Microsoft bot framework. You should do some research on the Microsoft Bot Framework. The link above takes you right to the documentation overview of the bot framework and from there you can get into developing one. They have links to a few sample projects as well as a large number of code snippets within some of the article explanations. It has a full setup guide that will walk you through the initial setup so it should be easy to get a basic echo bot running, but if you are not a programmer you should stick to the FAQ generator.
I suggest you use either node.js or c# to develop the bot since these are directly supported by the framework. I am personally using c# to build my bot from the ground up. The purpose of mine is to be used within a customer facing android/ios app that will help with questions, checking the status of different things, and even paying bills.
Just remember you will need to manually set up your cloud hosting. I host mine in azure alongside a web interface I built for it (you can build the website inside your bot if you are using c#, just replace the default.htm file in the web.config with the main page of the interface).

Resources