Edit history

Add nsfw property for individual expressions has not been edited, so there are no earlier versions.

Current version | Original by Rex
Show

Add nsfw property for individual expressions

Current problem

When creating an expression, we cannot specify whether or not said expression is nsfw or not.

Proposed change

I propose that an expression should have a property indicating whether or not it is nsfw. For each expression, this property would be inherited from its expression pack as default value, it would also be overridable. --- The following three ideas concern the API. Implementation A:
  • Add nsfw property for expression packs.
  • Add nsfw property for expressions.
  • For each expression without an override: Omit or null. (The clients would have to figure out inheritance on their own.)
  • For each expression with an override: Return value for expression.
Implementation B:
  • Add nsfw property for expression packs.
  • Add nsfw property for expressions.
  • For each expression without an override: Return value for expression pack.
  • For each expression with an override: Return value for expression.
Implementation C:
  • Add nsfw property for expression packs.
  • Add nsfw property for expressions.
  • Add overridden property for expressions.
  • For each expression without an override: Return value for expression pack. Return overridden property as false.
  • For each expression with an override: Return value for expression. Return overridden property as true.
Implementation A and C have the benefit of clients being able to tell which emoji has an override. --- This implementation proposal is for the UI. The UI should offer a toggle (in the expression upload / edit form) to indicate whether or not an expression is nsfw. It could visually distinguish expressions marked as nsfw from non-nsfw expressions. It could also visually distinguish expressions with an override from those without. For non-nsfw channels, expressions marked as nsfw could be replaced by a solid color. Users may override this behaviour for themselves in their client settings. --- I am open to suggestions.

Additional information

  • "expression" refers to Emoji and Stickers
  • "expression pack" also includes guild expressions.