NamelessMC / Nameless-Link

The Nameless Link bot synchronizes ranks between a Discord Guild and a NamelessMC website.
https://namelessmc.com/discord-bot-invite
MIT License
27 stars 19 forks source link

Option to prioritize sync source? #449

Open Browsit opened 6 months ago

Browsit commented 6 months ago

We have observed the following scenario for over a year now:

  1. New user joins our Discord (has no role), then
  2. user creates new website account, verifies email (has post-validation Member group), then
  3. when user links Discord, their [lack of] role appears to take priority (website gets downgraded to Unconfirmed Member group)

It seems most users have an opposite workflow, whereas they want Discord to be the deciding source. Still, we'd like to suggest a checkmark in the Group Sync page of Nameless which lets us choose which source should take priority.

Derkades commented 6 months ago

There is currently no preferred source, it depends on whatever order syncing happens to be done in. Bidirectional sync is a hard (impossible?) problem to solve if the timestamp of each group change is not known. For example, Nameless-Link does not know that the Member role being present is more "recent" than it not being present, and thus probably preferred.

Previously, Discord groups were only synchronized as roles were added or removed. But that left people unsatisfied that roles weren't synced when a user links their account. I don't know if there is a solution...

Browsit commented 6 months ago

@Derkades We were thinking something along the lines of letting administrators select the preferred source themselves. Here's a graphic example with radio buttons where selecting one disables the other(s):

radio

If that's something you think could work, we'd be glad to sponsor your addition of such a feature.