Step 1 — Create a Linux Virtual Machine on any Cloud Service Provider like AWS, Azure, GCP or even on your local but publicly accessible server.
Step 2 — Install all the dependencies of Microsoft Bot Framework SDK 3, for example nodejs, botbuilder for sdk3 and restify.
Step 3 — Deploy your existing bot code by copying the complete source code into a directory location with proper permissions in linux machine
Step 4 — Execute your app.js file using either “node start” command or “node app.js” command
Step 5 — If there are errors associated with missing packages, then fix them else we are good to go.
Step 6 — Create a Azure Bot Service on Azure (you need to have a proper subscription for this)
Step 7 — Choose “Bot Channel Registration” for registering your bot.
Step 8 — Provide a bot endpoint. This is tricky when you do not have a proper domain name and a SSL certificate as it needs https and domain name in the endpoint. If you do have domain name then map that domain with your Linux Machine IP and set the endpoint for example https://mydomain/api/messages
Step 9 — If you do not have a domain name and a SSL certificate then get a free domain name from https://www.freenom.com/en/index.html?lang=en
Step 10 — For https use LetsEncrypt for a free one https://letsencrypt.org/
Step 11 — Configure your domain name mapping and https SSL certificate configuration so that you can provide endpoint in the Azure Bot Service Channel Registration
Step 12 — Get APP ID and Password and replace the same in your bot code
Step 13 — Create a Webchat channel and get URL and Secret
Step 14 — Test with Webchat. Everything should be working fine and you can interact with your chatbot using your existing SDK 3 code.
The above steps is just a dirty way of making things happen. It is recommended to migrate to SDK 4 for more features and future support.