I have created a chatbot using the rasa framework and have deployed it to heroku, how do I make chatbot usable on telegram
Using Telegram with Rasa Open Source is described in the documentation.
You have to add the following to your credentials.yml file before running Rasa Open Source with rasa run:
telegram:
access_token: "490161424:AAGlRxinBRtKGb21_rlOEMtDFZMXBl6EC0o"
verify: "your_bot"
webhook_url: "https://your_url.com/webhooks/telegram/webhook"
webhook_url should use the hostname / IP of your Heroku server.
Related
I have a bot, built using the Bot Framework V4 in Java with Spring Boot, that is hosted on an Azure Web App and using the Azure Bot Service.
When connecting with the Bot Framework Emulator using ngrok it works just fine but when I try to use the Web Chat channel in the bot service I get this error
There was an error sending this message to your bot: HTTP status code Unauthorized
When trying to open it in Teams using the Teams channel it also doesn't work.
I have left the MicrosoftAppId and MicrosoftAppPassword empty and have my messaging endpoint set as https://<name>.azurewebsites.net/api/messages.
Is there any way I can use web chat?
When testing with a locally running bot (with using local url), you don't need to specify MicrosoftAppId/MicrosoftAppPassword within Emulator. But when the bot is deployed to Azure (OR testing when running locally but through with ngrok), you need to configure them in either the Web App configuration or in the application.properties file.
I have built a rasa bot and integrated it with Slack as per the details provided in the Rasa doc. To share this bot on another Slack workspace, have implemented the Oauth and the bot is thus successfully installed in other workspaces as well.
Issue: The bot replies to the user in my development Workspace and not in any other. How can I enable this for multiple workspaces?
How can we deploy Bot designed in Microsoft Bot composer (of Bot framework) to local machine instead of Azure.
As of now there is only one dropdown entry in Publishing target, while creating publishing profile - "Publish Bot to Azure"
Bot Composer, unfortunately, only natively supports publishing to the cloud. To publish a bot to a machine requires more steps. I found this answer useful: Deploy a microsoft bot onto a local machine and host it
I have registered my bot application in MS Bot directory. I can able to communicate with my message endpoint using Bot Framework Emulator. but when I tried the same in MS teams and Skype. the bot is not responding to my message.
Yes, it's possible. You need to use a tool like ngrok to create a tunnel to your local environment.
In a nutshell, you need to run (assuming your local bot is running on port 3979):
ngrok http -host-header=rewrite 3979
And then update your bot endpoint in the Bot Framework portal with the url ngrok will provide you.
(source: windows.net)
See this post for all the details
Is it possible to talk to my bot via WebChat like I'm doing it via Emulator, Without registering and publishing the bot on Azure?
You will need to register the bot in the BotFramework portal and enable the WebChat channel. Registering the bot doesn't mean that the bot will be published to the bot directory. You don't need to publish the bot to using it.
Also, you don't need to publish the bot in Azure to use it. Instead, you could use ngrok to create a secure tunnels to localhost.
You can check the following links:
https://docs.botframework.com/en-us/node/builder/guides/core-concepts/#debugging-locally-using-ngrok
https://robinosborne.co.uk/2016/09/19/debugging-botframework-locally-using-ngrok/
Update 21/12
Just remembered that since the WebChat is now open source, you might have an option to run it locally as described in the README.md. Below the relevant portion of the docs.