Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Pick players to ping on victory more intelligently #1537

@rossjrw

Description

@rossjrw

The number of users that can be mentioned in an issue comment appears to be limited to 50, including pings that would target a user but fail (which seems to happen when a user changes their username).

However, we routinely get more than 50 players per game, and it ends up that a sizeable chunk of the white team is not pinged (because their side of the table is on the right). The players that are pinged could be picked more sensibly.

  • The most frequent players should be pinged - i.e. players should initially be weighted by number of moves.
  • I'd really like to ping players who only ever played once, just to say "hey, remember this exists?" - but when that comes at the cost of pinging players who were arguably more loyal to the game, I struggle to justify it.
  • When picking between pinging players who've played an equal number of moves (e.g. of those who played 1), I should probably prioritise pinging those who've played in a previous game.
  • There's no need to ping myself.
  • I would like to ping a roughly equal number of users from each team. I could do this while still accounting for unbalanced team sizes by weighting players based on the number of players above them in the list that are on the same team.
  • Ties could be broken by how interesting a player's move was - e.g. a player who captured a piece would be pinged over a player who only moved a piece, which could correlate positively to how fondly they remember playing and negatively to how annoyed they'd be by the ping. But this seems difficult to calculate and not that beneficial.
  • Remaining ties should be solved randomly.

Implementation: create list of users, sort by pingability, pick top 50; do not prefix unpicked users' names with @.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions