Skip to Content
Welcome to the Orax Bot documentation!

Polls

Orax synchronizes Discord polls across interserver groups and aggregates vote counts from all mirrored copies when a poll expires.

How It Works

Poll Creation

When a user creates a poll in a linked channel:

  1. Orax detects the poll in the message
  2. The poll is relayed to all other linked channels along with the message
  3. The poll’s metadata (question, answers, expiry) is stored in the database

Vote Aggregation

When a poll expires:

  1. Orax’s poll aggregator scheduler detects the expired poll
  2. The bot fetches vote counts from all mirrored copies of the poll across all servers
  3. Vote counts are aggregated — the total votes for each answer are summed across all copies
  4. The combined results are posted as a follow-up message in all linked channels

This means that even though users in different servers are voting on separate copies of the poll, their votes are all counted together in the final results.

Example

If a poll is synced across 3 servers:

  • Server A: 10 votes for option 1, 5 votes for option 2
  • Server B: 8 votes for option 1, 3 votes for option 2
  • Server C: 2 votes for option 1, 7 votes for option 2

The aggregated result posted by Orax would be:

  • Option 1: 20 votes
  • Option 2: 15 votes

Limitations

  • Poll aggregation runs on a scheduler (checked periodically), so results may not appear immediately when a poll expires
  • Only polls created within the 30-day message retention window are tracked
  • If a webhook or channel becomes unavailable, votes from that server may not be counted
Last updated on