I have developed a chatbot in Rasa and I want to integrate it to Telegram. My chatbot works great locally, I have run test and I am ready to publish it. However when I tried to integrate it with Telegram it seems that it doesn't work.
In credentials.yml I have the following code:
telegram:
access_token: <Token provided by the Botfather>
verify: My_BOT
webhook_url: "https:/url.ngrok.io/webhooks/telegram/webhook"
As you can see I am using ngrok for the webhook url. When I paste the ngrok url in my browser with the Rasa server running, I get the message "Hello from Rasa 2.8.2", an indicator that it should work, but when I try to interact with my bot on Telegram it does nothing. What could be the problem?
Related
I am trying to send news messages to all app users. I thought about using Firebase Cloud Messaging. It is implemented on the client (Android app) and registered for a topic. Now I would like to send a message through the Firebase Console to this topic.
Is this possible? And how can I send a firebase message to a specific topic using the firebase console? I searched on the website, but did not find the option. Or is this only possible using a script (e.g. PHP) to send a message to a specific topic.
In the Notification composer of the Firebase console, enter a title and text for your message.
Then click Next.
In the next page, click the Topic button to send the message to a topic:
From the documentation of "Container mode", it seems like Slack is supported: "...while the Chatbot operates as if it is connected to the Facebook Messenger Platform, to the Microsoft Bot Framework, or to the Slack API." However, I've been unable to find any specific reference to a Slack connector. Our product is a bot accessible through Slack. We're experimenting with Botium for direct API testing through the Simplerest connector, but would like to test end-to-end through the Slack interface if it exists. If not, are there plans for developing one?
There is one sample available (https://github.com/codeforequity-at/botium-core/tree/master/samples/connectors/docker/slack), and the Botium capabilities are described in the Wiki (https://github.com/codeforequity-at/botium-core/wiki/Operation-Mode-docker). It is not E2E-Testing, it's more a system test - when using Botium like this, your Slack bot is never connected to the Slack servers, everything is intercepted by Botium. If you alread have an API Test with the HTTP/JSON connector in place, then it possibly won't add much to your test strategy.
For E2E-Testing, Botium has a connector providing a framework for running Selenium and Appium tests on websites hosting a chatbot: https://github.com/codeforequity-at/botium-connector-webdriverio - never tried myself, but I guess it could be used for testing a Slack bot in the Slack ui as well.
For this I tried two ways.
1.Using stamplay I integrated everything with stamplay (messenger & watson conversation) while deploying in npm (cli)-"stamplay init".
It is throwing an error --ssl certificate chain error.
2.Using ngrok I try to run the ngrok http 3000. It is throwing reconnecting && reconnecting
Can any one help me to reslove.
This middleware plugin allows developers to easily integrate a Watson Conversation workspace with multiple social channels like Slack, Facebook, and Twilio. https://github.com/watson-developer-cloud/botkit-middleware
#RiyaMRoy allows to you one solution.
But you can do this with 2 more options too:
Use Node-red to Integrate Watson Conversation with facebook easily.
Use NGROK, Tanmay Bakshi teaches how to do that. Check this tutorial.
I'm currently using node-red and works perfectly. You can create functions inside Node-red, and have a lot options for Business rules.
I know exactly what I want to achieve, but need some help to be able to start.
Flow:
Automatic periodic checking of my gCalendar to see if I just finished a meeting
Sending message to Slack with question "What is to-do list after the meeting?"
User writes a response.
Response get stored in Google Sheet.
My main concern right now are steps 1 and 2: is Api.ai capable of automatic periodic checking of my gCalendar by itself, so when my meeting is over, I get message in Slack and then I can continue normal communication with the Api.ai bot?
The problem I see here is that I expect Api.ai to push a message to Slack after some external trigger instead of waiting trigger from me as a Slack user.
If you haven't done so, you may want to check Bot Users which enable teams to conversationally interact with external services or your custom code by building bot users.
What can bot users do?
The primary way bot users interact with people on a given team is by connecting to the Real Time Messaging API (RTM API for short) and opening up a websocket connection with Slack.
The Events API is an alternative way to receive and respond to events as a bot user contained within a Slack App. Instead of connecting over a websocket, you subscribe to specific events and messages and Slack sends them to your server.
Secondly, you may want to also check the Bot implementation given in this GitHub post or you may try to customize your bot behavior using the following steps:
Clone the repository https://github.com/api-ai/api-ai-slack-bot
Change the code to index.js
In the Docker, use the run command specifying the full path to the directory containing the index.js file:
run command:
docker run -d --name slack_bot \
-e accesstoken="Api.ai client token" \
-e slackkey="Slack bot user key" \
-v /full/path/to/your/src:/usr/app/src \
speaktoit/api-ai-slack-bot
Lastly, for additional information, please also see Slack Integration documentation wherein it gives guidelines on how you can set up Slack Integration in API.AI. Please also see Slack Help Center for ways on how you can connect Google Calendar to Slack.
I've recently started using application insights with a web api.
It will be really helpful to configure app insights to post error messages in a slack channel.
I've seen there is a slack connector but I am not sure how to use it, my guess is that this can be solved with the slack connector and a azure logic app, any tips? tutorials?
You may have a look at this link: https://github.com/Azure/azure-quickstart-templates/tree/master/demos/alert-to-slack-with-logic-app. I followed the instruction and it worked for me.
The tricky part is you need to click the "Deploy to Azure" button on this link page. It would redirect you to Azure Portal, and you will need to specify which channel you want the alert message to be sent e.g. #somechannel. Don't use direct message like #yourname, it has some problem with that and the logic app couldn't deploy for me.
Then you just follow the instruction to find the deployed logic app and authenticate it by logging into slack. And you also need get the logic app URI from the deployment output as in the instruction. Once you put the URI into the alert webhook, you are ready to go!
It's relatively easy to set up a slack webhook.
There's a pretty good C# nuget package for this at https://github.com/nerdfury/Slack.Webhooks
Although you'd need to set up a seperate service to poll and route the app insights data.
There's also commercial options.
getcloudbot.com allows you to hook your Azure Application Insights bundle directly into your slack channel. It's good at staying on top of your services.
Disclaimer : I run it.
You can configure an alert for your error messages https://azure.microsoft.com/en-us/documentation/articles/app-insights-alerts
And then configure sending to Slack using web hooks: https://code.msdn.microsoft.com/Create-Azure-Alerts-with-b938077a
Another quick solution to this, which doesn't involve additional code or a logic app, is to set up a Slack email integration, which provides you an inbound email address for a given channel. You can use that in Application Insights in the "Additional administrator email(s)" field.
This isn't perfect, as you don't really get a lot of details in the post to slack, but it will notify you and provide the name of the alert.
The most easiest path that I found to integrate was using an app named Slack Email which sends email alerts to slack. Once you subscribe this email id to alerts in Application Insights it will start sending the messages on the specific channel you have linked the email to.
https://teamesub.slack.com/apps/A0F81496D-email