Inspiration
This project was inspired by the related hackathon challenge and some pressure encouragement from an unnamed IEEE senior eboard member.
What it does
Provides anonymous ranked-choice voting experience completely within Discord (no external websites for configuration or voting). The server admin can create, start, and close elections and view their results afterward. The bot DM's any users with a specified role and all voting happens within those DM's for complete anonymity.
You can add the bot to your server just by using the following link:
https://discord.com/api/oauth2/authorize?client_id=825418814774181938&permissions=0&scope=bot
See the Github README for command descriptions.
How we built it
This bot was built in Python using discord.py to interface with Discord's developer API. The ranked choice voting algorithm is implemented by pyrankvote. Due to time constraints and mild inebriation the bot is not hosted on a proper server, just on my local machine. For similar reasons, data is stored locally in memory.
Challenges we ran into
The hardest part of this was running the bot server on a Windows machine.
The next hardest part was figuring out how to implement ranked-choice voting, but fortunately I found a library for that!
Accomplishments that we're proud of
First time making a Discord bot :)
What we learned
More about ranked-choice voting and how it's amazing and should definitely be adopted for all elections
What's next for Discord Ranked Choice Voting Bot
- Proper server hosting and an actual database
- Don't allow non-admin users to create/open/close votes :)
Built With
- discord
- discord.py
- pyrankvote
- python

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