Inspiration

Discord is a very popular messaging platform with many interesting features, like the possibility to add bots to a server to perform some basic functions. When we saw the prompt for using APIs to post weather updates on a messaging platform, we got the idea to make our own Discord Bot to be able to do this. We also thought that UiPath's software was interesting, so we decided that we wanted to somehow incorporate it into our Discord Bot.

What it does

WeathAvi is a Discord bot that sends you the current weather forecast, along with appropriate suggestions. As one of our members is a pilot, we had the idea to also include additional features for displaying weather data meant for aviators planning flight paths. As an added touch, WeathAvi will also record all data and commands it receives and upload it to Google Drive to store it.

How we built it

The main language we used was Python, along with the Discord.py library. We integrated the bot with UiPath using the UiPath Orchestrator API in order to start a process using a Discord server command. The process itself retrieves data from the OpenWeatherMap API and returns it to the Discord bot to display for users to see.

Challenges we ran into

We were all very new to Discord bots and the concepts of HTTP requests but fortunately, there were many resources available to help us learn quickly. One of the biggest challenges for us was integrating the bot with UiPath. While making the UiPath process was fairly straightforward, publishing the process, configuring robots, and starting the process using the Orchestrator API was a tedious process that involved a lot of trial and error.

Accomplishments that we're proud of

Being able to create a bot with a lot of functions, being able to parse the data so that it was readable and visually appealing, and the integration of UiPath.

What we learned

How to make Discord bots, how HTTP requests work, more about Python's functions and default libraries (especially the requests library), and how UiPath Studio and UiPath Orchestrator works.

What's next for WeathAvi

In the future, we may utilize more of UiPath's functionality. It's ability to read and manipulate UI elements is a very interesting tool that we want to look further into. We may also expand the number of commands available to the user, both for aviators and non-aviators alike, such as the ability to automatically manage and submit flight plans on NAV Canada through the use of UiPath, obtaining a list of important radio frequencies for a specific station, or just getting the UV Index to make sure you put on enough sunscreen!

Check out the Github repository here, where you can also see a list of all the commands.

Built With

Share this project:

Updates