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
- github
- glitch
- javascript
- python
- slackapi

Log in or sign up for Devpost to join the conversation.