Run Ranked-Choice Polls in Discord
Ranked Polls lets members put every option in preference order, then calculates results with instant-runoff counting. It is a Pro module, not included in Free, and is separate from the basic Polls module. You can create a one-off vote or repeat it daily or weekly. No third-party API key is required.
Start freeStart free. Pro is $9.99/month.
Before you start
- A running Discord bot with Pro access and Ranked Polls enabled for the intended server.
- Manage Server permission or the selected manager role to create and stop poll schedules.
- A text or announcement channel visible to the creator and voters. The bot needs View Channel and Send Messages there.
Choose the channel and who can vote
Open your bot’s Modules area, enable Ranked Polls and open Settings. Select the Discord server, switch on Enable in this server and save. Choose an optional default channel, manager role and voter role. Without a default channel, new polls use the command channel; changing the default later does not move existing schedules.
The optional voter role restricts ballot submission. Voters also need access to the poll’s channel, and the bot must still be able to view it. Creating and stopping schedules requires Manage Server or the manager role. Results and list commands also respect channel visibility; the voter role restriction applies to voting.
Create a poll with numbered choices
Use /rankedpoll create with question, options and hours. Separate options with a vertical bar. An example question is Next community event? with options Games | Quiz | Movie and hours set to 12. These are example choices, not a preset. The post numbers the options and includes the round ID needed for voting.
Questions can contain up to 120 characters. Supply 2 to 8 distinct options, each up to 60 characters; duplicate names differing only by case are rejected. Voting lasts 1 to 168 hours. The optional repeat choice is none, daily or weekly. A repeated poll’s voting duration cannot exceed its repeat interval, so a daily poll can remain open for at most 24 hours.
Rank every option and revise before closing
Use /rankedpoll vote with the round’s id and a comma-separated ranking. For the three example choices, 2,1,3 means Quiz first, Games second and Movie third. Include every option exactly once. Partial rankings, repeated numbers and numbers outside the option list are rejected.
A member has one saved ballot per round. Voting again replaces that ballot before closing; it does not add another vote. A round accepts up to 10,000 voters, and existing voters can still revise their ballot when that count is reached. Commands reply privately, but ballots are stored with Discord user IDs in the bot database. This is not an anonymous-election guarantee.
Read the instant-runoff result
Use /rankedpoll results with id to see the choices, ballot total, counting rounds and delivery state. Results are provisional while voting is open and final after closing. Final results are not automatically posted to the channel; request them with /rankedpoll results.
The first count uses each ballot’s highest remaining choice. A choice with more than half the ballots wins. Otherwise, the unique lowest choice is eliminated and its ballots transfer to their next remaining choice. Counting continues until there is a majority or a tied lowest count. With no ballots, the result reports no votes.
This is instant-runoff ranked-choice counting, not ranked-pairs or a points-based sorted poll. A tied lowest count ends the tally even when another remaining choice has more votes. Commands show aggregate counts, not a list of individual ballots.
Manage repeats, limits and restarts
Daily and weekly schedules start immediately and repeat at fixed elapsed intervals of 24 hours or 7 days from creation. They are not local-calendar schedules. Every round starts with fresh ballots and its own ID. Use /rankedpoll list for the latest rounds of active schedules, then /rankedpoll stop with a round’s id to close voting and stop future rounds of that schedule.
The active-schedule setting defaults to 5 and accepts 1 to 10 per Discord server. Storage also caps retained schedules at 200. Closed rounds and their ballots become eligible for removal after 30 days, so results are not a permanent election archive.
Schedules and ballots survive restarts. While enabled, the scheduler checks about every 30 seconds. After downtime it opens only the current voting window and skips expired rounds. Announcements are attempted once; uncertain sends are not replayed. Inspect the channel and results delivery state before posting a manual reminder. Disabling the module pauses commands and scheduling.
Frequently asked questions
Do ranked-choice polls require Pro?
Yes. Ranked Polls requires Pro access and per-server enablement. The separate basic Polls module does not provide this ranked-ballot workflow.
Can members rank just their favorite option?
No. Each ballot must rank all options exactly once, using their numbers separated by commas. Submit another full ranking before closing to replace your ballot.
Is the counting method ranked-pairs?
No. It is instant-runoff counting. A strict majority wins; otherwise the unique lowest choice is eliminated. A tied lowest count stops with all remaining choices tied.
Will results appear automatically when voting ends?
No. Use /rankedpoll results with the round ID to read provisional or final results. The scheduled channel post announces a round, not its final result.
Do repeating polls keep the previous votes?
No. Each new round has a separate ID and fresh ballots. Daily and weekly repeats use elapsed intervals from creation, and missed expired rounds are skipped.
