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:
- Orax detects the poll in the message
- The poll is relayed to all other linked channels along with the message
- The poll’s metadata (question, answers, expiry) is stored in the database
Vote Aggregation
When a poll expires:
- Orax’s poll aggregator scheduler detects the expired poll
- The bot fetches vote counts from all mirrored copies of the poll across all servers
- Vote counts are aggregated — the total votes for each answer are summed across all copies
- 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