We were first inspired to create a bot after we looked at the Gupshup Bot platform, which provides an easy way to create bots and get them running very quickly on platforms such as Facebook, Slack and Telegram. When we brainstormed about what sort of bot to create, we came upon the idea of a meeting place bot. This bot would allow various people to give their locations, and the bot would be able to find places to hang out or go shopping nearby. We found it to be an enticing idea due to the fact that it would be a challenge - but not an insurmountable one - to code, and had very practical applications should we manage to code it.

What it does

To use this bot, each user shares their location (a built-in functionality of Telegram), and the bot registers these locations in its database. Then, any user can query the bot with a type of service (such as 'food', 'restaurant', 'casino') and get a list of results. This list contains the name and address of the result, along with a link to the result on Google Maps.

How we built it

We built the bot by using Gupshup's Bot building platform; We wrote the code on Gupshup's built-in JavaScript IDE, and stored data in Gupshup's bot database. We also made queries to Google Places API in order to get our list of results.

Because we had to use a service that supported both bots and group chat, our choices were narrowed down to Telegram and Slack. However, of the two only Telegram supports location sharing.

Challenges we ran into

The main challenges we faced revolved around getting Gupshup to behave the way we wanted to. One limitation that we discovered as we worked with Gupshup was that we were unable to make more than one call to an API throughout our entire program. We thought that this issue was going to make the project impossible, as we had planned various API calls for the different parts of the project, however in the spirit of a hackathon we were able to come up with a way to get our project done with a single API call.

Accomplishments that we're proud of

We definitely are proud of how even though the Gupshup platform has its limitations, we were still able to implement all of our core features into the project. In addition, it was rewarding to be able to tap on the URLs that the bot gave and visit real places on google maps.

What we learned

This project definitely helped build all of our collaboration skills, as we needed to divide tasks between people and constantly update each other's code in order to finish the project in time. In addition, different people brought their own knowledge into the project, which helped make it richer than it otherwise would have been, which gave us all an appreciation of the plethora of benefits that come with working as a team.

What's next for LocatoBot

If we are to expand our project, then we will need to either find a way around the limitations that we ran into using Gupshup, or perhaps drop Gupshup entirely and program the bot from scratch. Regardless, building this bot on the Gupshup platform has proved to be very beneficial; we were able to figure out what functionality works, and brainstorm ideas for further functionality to add to our project. Perhaps in the future, Facebook Messenger or Slack will allow the sharing of locations, and we will be able to introduce our bot to those platforms.

Share this project: