dronefly-garden / dronefly

Red Discord Bot V3 cogs for naturalists.
Other
16 stars 3 forks source link

user: support syntax for iNat user_id in nickname #90

Closed synrg closed 4 years ago

synrg commented 4 years ago

Sometimes we have handles that we like to use in our Discord nicknames, but we also want to advertise in our nickname what our iNaturalist user_id is. Proposed convention for this: use square-brackets to enclose the nick.

Unfortunately, Discord doesn't allow super long nicknames, so in the author's case, for example, this means choosing to use "SyntheticBee [benarmstrong]" instead of "SyntheticBee || Nova Scotia", as both won't fit together.

Support partial matches of user_id specified in this manner, e.g. "ben" or "bena" or "benarmstrong" should match inside the square brackets, not just at the start of the nickname.

synrg commented 4 years ago

Arguably, whether or not a person advertises their iNat user_id in their nickname, it is useful to be able to search for them by user_id. We could do this with a user_id -> Discord id reverse mapping that is primed by the user project cache load, or a user lookup in the other direction (to avoid excessive API calls that would otherwise be needed to load them all one at a time).

If we went this way, then no code would be written for this issue, as the reverse mapping would provide the same functionality in a more reliable way.