Inspiration

We were inspired to build the ACM Essentials Slack Application in order to enhance our experience on the CS@UCR Slack. The original feature that inspired us to design this application was the ability to @channel without having admin permissions.

What it does

Our application has a range of commands and features that are useful to any ACM member. Commands include '/acm' which lists the ACM website url, '/membership' which lists the perks and features of an ACM Membership, or '/bothelp' which lists all commands currently available with the ACM Essentials Slack Application.

How we built it

We originally started constructing our application in python, but we ran into issues with using slash commands. We eventually found a solution to our problem using Glitch, an online IDE. We developed ACM Essentials in Javascript, and experimented with more advanced functions that handle data such as '@channel' in python.

Challenges we ran into

The largest challenge we faced was coding in Python and Javascript. We had little to no experience in either language. We also spent a long time learning how to create a Slack Application/Bot, and how to implement the features we envisioned.

Accomplishments that we're proud of

We are proud of the exploits we accidentally uncovered during the development of our project. One exploit we discovered allowed the bot to post in channels explicitly for admins without any permissions. In addition, we were able to access private information such as the slack tokens without any permissions.

What we learned

In addition to the experience obtained by using Javascript and python, we most valued the experience we gained by participating in Cutie Hack 2019. We learned how use Slack APIs and how to implement Slack Applications and Bots using the online IDE called Glitch. Ultimately, we got a real taste of what it's like to develop functional software, and we learned how challenging yet rewarding it is to develop in a field we have never touched before.

What's next for ACM Essentials

We envision the application being added to the CS@UCR Slack. We believe that ACM Essentials has the potential to provide users with a convenient and helpful experience on the Slack. The range of commands, extensibility, and endless possibilities allow for the best possible future of ACM Essentials.

Built With

Share this project:

Updates