How to setup a comfortable Chatbot testing environment

I’m developing chatbots for some time, and testing them locally was always an annoying part.

I also prefer not to download anything, and also not paying for any service

Let’s go through building a setup, with few simple steps:

1) Create a testing bot profile — It doesn’t matter which messaging platform are you using — need to create a bot testing profile. for example for Facebook Messenger you will need to create a new page, and also a new app connected to this page.

Create a testing bot profile

2) use serveo.net for tunneling — there are plenty of tunneling solutions you can use, where most of them cost a monthly.
We are looking are looking for service which is:

  • Free (because we are cheap 🙂)
  • Support sub-domains (it’s extremely annoying to change the URL every time you have to restart your computer)
  • Robust (so you won’t have to reconnect every moment)
  • No need to download (a Bonus!)

I tried localtunnel (free, not so robust), ngrok (no sub-domains on free version) and few other. the winner is serveo.net as it answers all of my requirements (free, no download, support sub-domains)

example usage will be:

ssh -R <requested subdomain>:80:localhost:8888 serveo.net

where you should run it the first time without a requested subdomain -> get one from the server -> use it from now on.

Tunneling

2) make it even more robust — My internet connection tends to be fragile, and tunneling services tends to disconnect.

I looked for a simple service that will keep the ssh connection to serveo alive & reconnect upon disconnection.

I’ve found AutoSSH which does all that, a simple usage will be:

usage: autossh [-V] [-M monitor_port[:echo_port]] [-f] [SSH_OPTIONS]

In our case will just need to change the ssh command of serveo to autossh (after installing of course)

autossh -R <requested subdomain>:80:localhost:8888 serveo.net
AutoSSH

This is it! Happy testing.