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
Share this project:

Updates

Submission history