Danyc0 / Society-voting-bot

A Discord bot for doing society elections
Apache License 2.0
2 stars 4 forks source link

Decide if votes that are not cast count as abstainations, or as if they didn't turn up #20

Closed Danyc0 closed 1 year ago

Danyc0 commented 3 years ago

Currently this is implemented as if they didn't turn up. The complication of doing the former option is how can you tell the difference between someone that didn't vote because they wanted to abstain, and didn't vote because they didn't turn up to the election and therefore don't know the voting code

LikkanChung commented 3 years ago

Ideally, a non-vote should be counted (as an abstain) if someone is present in the EGM call, but does not interact with the bot. Otherwise, it should be counted as a non-presence and no vote.

I think the current implementation is probably the correct one. Perhaps we can take the set of people who have entered the registration code, to be abstains, otherwise it should be not-present in the election

Danyc0 commented 2 years ago

Problem is @LikkanChung that the bot has no way to know if someone is present in the EGM call without them telling the bot that. The registration code is currently sent alongside every ballot paper submission, so if they don't vote, there's no way to know if they're in the call

Danyc0 commented 2 years ago

One possible solution would be to have a separate command that declares someone to be in attendance (\attend?), which requires the code, then the code isn't used beyond that. Then if they have \attend but haven't voted, it's an abstain, and if they haven't \attend then they didn't turn up

Danyc0 commented 2 years ago

One other solution is to publicise the existence of submitting an empty ballot (by not reacting and then submitting), and say "if you want to abstain, do this". This solution needs no change to the code

Danyc0 commented 1 year ago

I advocate for that final approach, and given nobody else has had any comments, will now close this issue as wontfix (feel free to re-open if you disagree)