diff options
Diffstat (limited to 'src/misc')
| -rw-r--r-- | src/misc/reaction-lib.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/misc/reaction-lib.ts b/src/misc/reaction-lib.ts index eba57ea303..c525d89385 100644 --- a/src/misc/reaction-lib.ts +++ b/src/misc/reaction-lib.ts @@ -20,6 +20,28 @@ export async function getFallbackReaction(): Promise<string> { return meta.useStarForReactionFallback ? '⭐' : '👍'; } +export function convertLegacyReactions(reactions: Record<string, number>) { + const _reactions = {} as Record<string, number>; + + for (const reaction of Object.keys(reactions)) { + if (Object.keys(legacy10).includes(reaction)) { + if (_reactions[legacy10[reaction]]) { + _reactions[legacy10[reaction]] += reactions[reaction]; + } else { + _reactions[legacy10[reaction]] = reactions[reaction]; + } + } else { + if (_reactions[reaction]) { + _reactions[reaction] += reactions[reaction]; + } else { + _reactions[reaction] = reactions[reaction]; + } + } + } + + return _reactions; +} + export async function toDbReaction(reaction?: string | null): Promise<string> { if (reaction == null) return await getFallbackReaction(); |