Inspiration
After spending a lot of time debugging spaghetti code with SecSoc's current discord bot, we looked to other bots in the market however we weren't satisfied with the quality of most bots that societies used. They either require a students username and password (and do something with it??), and/or are closed source so no one is able to verify the security of the application. For ones that do perform email based verification, they tend to rely on 3rd party maintainers and lack of funding for these open source projects could mean that the bot just stops working one day.
What it does
This bot provides an easy integration into Arc affiliated Discord servers to verify any new members of the society. This is needed in case of misconduct by a user so they can be linked back to their zID.
How we built it
The bot is written in Python and hosted on a GCP VPS with daily backups to Google Drive. It was written by the Projects portfolio at The UNSW Security Society to replace the old verification bot that was being used.
Challenges we ran into
There were often opportunities and ideas for new elements that could potentially improve the features and functionality of the bot however at most of these decisions, we opted to keep the bot simple where possible and meet the bare minimum requirements that a society may have, in the effort to keep it extremely simple to setup with someone will little computer know-how.
Accomplishments that we're proud of
This bot is now supported by Arc and is used in the Arc Club Leaders server and will continue to be used in future Arc run servers. It also current supports numerous other societies including WatchSoc, BESS, BoulderSoc, Computer Engineering Society and of course, SecSoc.
What we learned
For important and practical projects, we learnt that is a good idea to keep functionality to the minimum that is required and implement is very well and thoroughly test it so that it can work long term without requiring regular modifications. For that same reason, good documentation and repo structure are necessary so that if changes do need to be made, someone that has never seen the code before shouldn't need to spend too much time familiarising themselves with how everything works.
What's next for UNSW Discord Verification Bot
The verification bot is a mostly finished product, it accomplishes all the goals we set out for it and any modifications will only be for performance reasons or dependency changes. We are however open to adding functionality on the request of Arc or if the feature is heavily desired by the community.