The current list of emoji reactions which grant coins is:
static let coinSignEmojis = [
Constants.ServerEmojis.love.name,
Constants.ServerEmojis.vapor.name,
Constants.ServerEmojis.coin.name,
Constants.ServerEmojis.doge.name,
"πͺ",
"β€οΈ", "π", "π", "π€", "π€", "π€", "π", "π", "π§‘",
"π", "π", "π", "β£οΈ", "π", "π", "π", "π", "β€οΈβπ₯", "π",
"π", "π»",
"π", "π", "π―",
"π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ",
"π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ",
"π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ",
"π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ",
]
(per https://github.com/vapor/penny-bot/blob/main/Sources/Penny/Handlers/ReactionHandler/ReactionHandler.swift#L9-L23)
This is now becoming a bit noisy, and people are granting coins without meaning to. I propose this list:
/// U+1F3FB EMOJI MODIFIER FITZPATRICK TYPE-1-2...TYPE-6
private static let emojiSkins = ["","\u{1f3fb}","\u{1f3fc}","\u{1f3fd}","\u{1f3fe}","\u{1f3ff}"]
/// U+2640 FEMALE SIGN, U+2642 MALE SIGN, U+200D ZWJ, U+FE0F VARIATION SELECTOR 16
private static let emojiGenders = ["", "\u{200d}\u{2640}\u{fe0f}", "\u{200d}\u{2642}\u{fe0f}"]
static let coinSignEmojis = [
Constants.ServerEmojis.love.name,
Constants.ServerEmojis.vapor.name,
Constants.ServerEmojis.coin.name, "πͺ",
"β€οΈ", "π", "π", "π€", "π€", "π€", "π", "π", "π§‘",
"π©·", "π©Ά", "π©΅", "π", "π", "π", "π»", "π", "π―",
]
+ emojiSkins.map { "π\($0)" }
+ emojiSkins.map { "π\($0)" }
+ emojiSkins.map { "π\($0)" }
+ emojiSkins.map { s in emojiGenders.map { g in "π\(s)\(g)" } }
(for the record, this, of course, yields the array ["vaporlove", "vapor", "coin", "πͺ", "β€οΈ", "π", "π", "π€", "π€", "π€", "π", "π", "π§‘", "π©·", "π©Ά", "π©΅", "π", "π", "π", "π»", "π", "π―", "π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ", "π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ", "π", "ππ»", "ππΌ", "ππ½", "ππΎ", "ππΏ", "π", "πββοΈ", "πββοΈ", "ππ»", "ππ»ββοΈ", "ππ»ββοΈ", "ππΌ", "ππΌββοΈ", "ππΌββοΈ", "ππ½", "ππ½ββοΈ", "ππ½ββοΈ", "ππΎ", "ππΎββοΈ", "ππΎββοΈ", "ππΏ", "ππΏββοΈ", "ππΏββοΈ"]
)