Why the test in web chat bot not responding - node.js

Completed build the web bot app in Microsoft Azure. It runs fine in the bot emulator locally. But in the azure , in the beginning it doesn't respond to the question asked. Now it keeps me waiting for the bot to ready.
Issue is listed as:
There was an error sending this message to your bot: HTTP status code InternalServerError
There was no option to update QnAKnowledgebaseId,QnAAuthKey and QnAEndpointHostName and hence I manually added those field.
When did I go wrong and how do I get it working in Azure?

Couple of things to note:
Please ensure you have updated the Messaging endpoint correctly as described in the picture below:
Make sure you have updated the MS App ID and password correctly, also the QNAKnowledgeBaseID in the configuration section like below:
If still doesn't help , please connect application Insights to your bot in order to see the innerExceptions of this InternalServerError. With app insights you can see the Failed Requests the exceptions and the specific platform errors.
Hope it helps, feel free to tag me in your conversation and share the code repo , will help further.

Related

Microsoft Bot Framework integration with Slack is broken

I am developing chatbot for Slack using Microsoft Bot Framework. The Web app is hosted on azure. We have few installations.
Everything worked fine before this morning when I saw that new bot just didn't respond (the old one is still working).
We've been experimenting on permissions and auth keys on slack, so I thought that was the reason. But I tried to reinstall the app, bot user, auth keys etc from scratch and it didn't help. My configured endpoint just don't hit.
I think the issue is in communication between Slack and Microsoft Bot Framework, 'cos when I'm testing from chatbot panel's web client everything is working fine. Also, Slack representatives confirmed that there's no problem from their side.
UPDATE: I re-checked all credentials again and seems like it's working, don't know what was the issue. But two side questions still actual:
1) Can I test this channel of communication somehow? Cos when my endpoint didn't hit I can't get any info on what is happening. I have 0 errors on Microsoft Bot Framework web console.
2) Docs on configuring slack channel have changed recently and now it suggesting to add "Subscribe to Bot Events", while everything worked w\o it. Can you elaborate on that? Also, it's not quite clear what is {YourBotHandle} docs referring to in https://slack.botframework.com/api/Events/{YourBotHandle}
Usually, the Bot Framework Portal is the place to see if any channel is reporting errors with your bot. You can also check https://github.com/Microsoft/BotBuilder/issues just in case there is a general problem with a channel.
Regarding the second question, {YourBotHandle} refers to the handle that you provided at the time of registering your bot, as explained here.
As far as why you need to subscribe to bot events, first I would recommend you to read the documentation about Events on Slack (here), but long story short, this allows the bot to subscribe to events and be notified when those happen instead of having the bot asking Slack if something happened or not.
One way to use the Events API is as an alternative to opening
websocket connections to the real time messaging API. Instead of
maintaining one or more long-lived connections for each team an
application is connected to, you simply set up one or more endpoints
on your own servers to receive events atomically in near real-time.

Azure Logic App fails to send message to slack

We have some Logic Apps setup that monitor our various sites and a Slack connection set up. If a non-200 status code is returned, it sends a message to our alerts channel in Slack. We have about 10 sites that are monitored.
The first was setup, tested the cloned for the other sites.
The issue we're having is that they all seem to work bar one.
The site in question was offline this morning (after host updated the server at 3am this morning) and I can in the Azure log the trigger was fired - but no message in Slack.
I changed the Condition to "status equals 200" (to ensure it always fires), ran it manually and still see no message.
As mentioned this logic app was cloned from one that did work so the only thing that changes from app to app is the site URL and the contents of the slack message.
Being relatively new to various Azure features this was a bit of "R&D" for Logic Apps so I'm not really sure what to check.
Any obvious gotchas we should be aware of? Any pointers you can give to help resolve this would be great.
NB: I added Slack API as a tag to this but as this part is handled by Azure and it's working for other Logic Apps feel free to remove.

Facebook Messenger Bot only working for me (developer)

Hi I got my bot approved and the app is live to the public, but it only sends responses to me. Please help. Im a beginner and not sure what's wrong
Update: Please see Messenger Bot Fails to Respond
Perhaps a bit late but perhaps this will help. I just got my bot approved today. In the App Review panel, I now see that 'pages_messaging' is enabled. Also, under the 'Messenger->Setting' I see 'Bot Ratings'. The bot appears to be open to the world as several people have accessed it.
http://messenger/t/dynamicmemorysolutions
please verify if your app is available to the general public.
Follow these steps:
Login to your facebook developer console.
In Basic settings provide an email.
In App Review switch to YES (general public)
In Roles section you can also define test users in order to verify that your Bot is working as expected.
Regards

Skype Echo Bot for NodeJS: Messages Not Appearing in Skype App

I am following this Echo Bot Tutorial, and have gone through all of the basic steps regarding setup and registration. I am following the steps (near the bottom) regarding local testing, and have been using ngrok successfully.
I was able to add my Skype Bot as a contact, and I also have the latest version of the Skype app (Mac). When I send a message to the bot via the Skype app, I see the message appear in the debug notes in my terminal window. So I know that the messages I type are coming through.
I also see this:
skype-sdk.MessagingServiceClientV2 Sending message to 8:username with content Hey 8:username. Thank you for your message: "test".
However, I do not see any kind of reply in my Skype application. My expectation is that the bot would echo back my message to me.
My questions are:
1) When testing locally using the ngrok method described in the tutorial, should I be able to see activity from the Skype bot (in terms of messages to me)?
2) I am guessing this may be some an authentication issue? How can I best troubleshoot things, and get the Skype bot to actually respond in the Skype app?
I feel like I am incredibly close to getting this working, in that the messages I send are coming through... but the messages I expect from the Skype bot are not coming through. Any help or ideas greatly appreciated!
Found the fix, and posting it here should anyone else run into the same issue.
During the setup process, when I was using the Application Registration Portal, I selected the wrong string as my Application Secret.
Originally, I clicked on Generate New Key Pair, which resulted in a new entry appearing in the admin labeled Private Key. I used this string as my App Secret.
However, it appears that what I should have done was click on Generate New Password and used *that string instead**. Just gave it a try, and my bot is now responding back to me locally (in the Skype app), when testing with ngrok.
I think this particular distinction could have been made clearer in the documentation, as I lost a great deal of time due to this one oversight. Oh well, at least I can start developing now...

Send bug report from azure

I want to send emails to myself from azure with error and its details when server receives 500 error.
I don't wont to receive messages that something happened (events works the same if I am not mistaken).
Is it possible?
I know that I can find all errors with details in https://{site-name}.scm.azurewebsites.net/websitelogs/#/detailederrors
But how to get text from new file I don't know.
Please help me.
EDIT 1.
I found streaming logs - Recent -> {site-name} -> tools -> streaming logs.
Here I can see all errors in real time. But I can't find where I can send these errors in my email.
I think the web app dashboard does not support alerting directly. You should activate application insights on your web app and then you'll be able to configure email alert on failed request.
This page will help you with working with application insights alerts: https://azure.microsoft.com/en-us/documentation/articles/app-insights-alerts/
Hope this helps,
Julien

Resources