@allior/wmake-streamelements-events 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/react/hooks/use-on-event-received.d.ts +1 -1
  2. package/dist/react/hooks/use-on-widget-load.d.ts +1 -1
  3. package/dist/react/index.iife.js +2 -2
  4. package/dist/react/index.iife.js.map +1 -1
  5. package/dist/react/index.js +32 -92
  6. package/dist/react/index.js.map +1 -1
  7. package/dist/root/guards/on-event-received.d.ts +1 -1
  8. package/dist/root/index.iife.js +2 -2
  9. package/dist/root/index.iife.js.map +1 -1
  10. package/dist/root/index.js +2 -3116
  11. package/dist/root/queue/alert-queue.d.ts +1 -1
  12. package/dist/root/queue/next-alert-callback.d.ts +1 -1
  13. package/dist/root/types/on-event-received/message.d.ts +1 -1
  14. package/dist/root-BzhLLMHq.js +2934 -0
  15. package/dist/root-BzhLLMHq.js.map +1 -0
  16. package/package.json +11 -13
  17. package/dist/root/index.js.map +0 -1
  18. package/src/react/hooks/index.ts +0 -3
  19. package/src/react/hooks/use-event-listener.ts +0 -20
  20. package/src/react/hooks/use-on-event-received.ts +0 -108
  21. package/src/react/hooks/use-on-widget-load.ts +0 -15
  22. package/src/react/index.ts +0 -3
  23. package/src/react/types/index.ts +0 -1
  24. package/src/react/types/window-events.ts +0 -6
  25. package/src/root/aggregate.ts +0 -257
  26. package/src/root/classifier.ts +0 -271
  27. package/src/root/commands.ts +0 -39
  28. package/src/root/data/field-value.ts +0 -2
  29. package/src/root/data/index.ts +0 -2
  30. package/src/root/data/widget-load.ts +0 -5
  31. package/src/root/guards/index.ts +0 -1
  32. package/src/root/guards/on-event-received.ts +0 -58
  33. package/src/root/index.ts +0 -11
  34. package/src/root/keys.ts +0 -14
  35. package/src/root/message/index.ts +0 -1
  36. package/src/root/message/twitch/index.ts +0 -2
  37. package/src/root/message/twitch/message.ts +0 -48
  38. package/src/root/message/twitch/user-message-data.ts +0 -112
  39. package/src/root/queue/alert-queue.ts +0 -31
  40. package/src/root/queue/index.ts +0 -2
  41. package/src/root/queue/next-alert-callback.ts +0 -7
  42. package/src/root/sources/alerts.ts +0 -163
  43. package/src/root/sources/index.ts +0 -5
  44. package/src/root/sources/messages.ts +0 -1611
  45. package/src/root/sources/on-widget-load-detail.ts +0 -968
  46. package/src/root/types/index.ts +0 -2
  47. package/src/root/types/on-event-received/base.ts +0 -94
  48. package/src/root/types/on-event-received/cheer.ts +0 -10
  49. package/src/root/types/on-event-received/donation.ts +0 -29
  50. package/src/root/types/on-event-received/follower.ts +0 -9
  51. package/src/root/types/on-event-received/index.ts +0 -58
  52. package/src/root/types/on-event-received/message.ts +0 -13
  53. package/src/root/types/on-event-received/moderation.ts +0 -7
  54. package/src/root/types/on-event-received/other.ts +0 -14
  55. package/src/root/types/on-event-received/raid.ts +0 -10
  56. package/src/root/types/on-event-received/subscriber.ts +0 -77
  57. package/src/root/types/on-widget-load/base.ts +0 -35
  58. package/src/root/types/on-widget-load/index.ts +0 -3
  59. package/src/root/types/on-widget-load/recents.ts +0 -33
  60. package/src/root/types/on-widget-load/session.ts +0 -102
  61. package/src/root/window-event-map.ts +0 -9
  62. package/tsconfig.app.json +0 -31
  63. package/tsconfig.json +0 -8
  64. package/tsconfig.node.json +0 -25
  65. package/vite.config.ts +0 -36
  66. package/vite.iife.config.ts +0 -52
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/root/classifier.ts","../../src/root/aggregate.ts","../../src/root/sources/on-widget-load-detail.ts","../../src/root/sources/alerts.ts","../../src/root/sources/messages.ts","../../src/root/commands.ts","../../src/root/keys.ts","../../src/root/message/twitch/user-message-data.ts","../../src/root/queue/alert-queue.ts"],"sourcesContent":["/**\n * Shared classification and tier parsing for Twitch/StreamElements subscription events.\n * Used by aggregate normalizer.\n */\n\nimport type { ClassifiedEvent, IncomingDetail, TierInfo } from \"./types\";\n\nexport function parseTier(raw: string | number | null | undefined): TierInfo {\n\tif (raw == null) return { tier: 0, tierText: \"\" };\n\tconst tierText = typeof raw === \"string\" ? raw : String(raw);\n\tconst num = parseInt(tierText, 10);\n\tif (Number.isNaN(num)) return { tier: 0, tierText };\n\tconst tier = num >= 3000 ? 3 : num >= 2000 ? 2 : num >= 1000 ? 1 : 0;\n\treturn { tier, tierText };\n}\n\nexport function getCacheKey(detail: IncomingDetail): string {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst ag = event.activityGroup;\n\tconst aid = event.activityId ?? event._id;\n\tif (ag) return String(ag);\n\tif (aid) return String(aid);\n\tif (listener === \"subscriber-latest\" && event.bulkGifted) {\n\t\treturn (\n\t\t\t\"sl-bulk-\" +\n\t\t\t(event.sender ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.amount ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event.tier ?? \"\") +\n\t\t\t\"-\" +\n\t\t\t(event._id ?? \"\")\n\t\t);\n\t}\n\treturn `sl-${event._id ?? event.activityId ?? \"\"}`;\n}\n\nexport function classifyEvent(detail: IncomingDetail): ClassifiedEvent | null {\n\tconst listener = detail.listener;\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\tconst tierInfo = parseTier(\n\t\t(data.tier ?? event.tier) as string | number | undefined,\n\t);\n\n\tif (listener === \"event\") {\n\t\tif (event.type === \"communityGiftPurchase\") {\n\t\t\tconst isAnon =\n\t\t\t\t(data.username &&\n\t\t\t\t\tString(data.username).toLowerCase() === \"anonymous\") ||\n\t\t\t\tdata.sender === \"Anonymous\";\n\t\t\treturn {\n\t\t\t\ttype: isAnon ? \"community-gift-anonymous\" : \"community-gift\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: parseInt(String(data.amount), 10) || 1,\n\t\t\t\trecipients: [],\n\t\t\t\tsender: isAnon\n\t\t\t\t\t? undefined\n\t\t\t\t\t: ((data.sender ?? data.displayName ?? data.username) as string),\n\t\t\t\tanonymousDisplayName: isAnon\n\t\t\t\t\t? ((data.displayName as string) ?? \"Anonymous\")\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}\n\t\tif (event.type === \"subscriber\") {\n\t\t\tconst gifted = data.gifted === true;\n\t\t\tconst sender = data.sender as string | undefined;\n\t\t\tconst amount = parseInt(String(data.amount), 10) || 1;\n\t\t\tconst username = (data.username ?? data.displayName) as\n\t\t\t\t| string\n\t\t\t\t| undefined;\n\t\t\tconst activityGroup = event.activityGroup as string | undefined;\n\n\t\t\tif (sender === \"Anonymous\" && activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (gifted && sender && sender !== \"Anonymous\") {\n\t\t\t\tconst isCommunity =\n\t\t\t\t\tdata.communityGifted === true ||\n\t\t\t\t\t(activityGroup != null && activityGroup !== \"\");\n\t\t\t\tif (!isCommunity) {\n\t\t\t\t\tconst firstGift =\n\t\t\t\t\t\tString(data.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\t\t\tsender,\n\t\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup: activityGroup ?? \"\",\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount > 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\tmonths: amount,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!gifted && amount === 1) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-sub\",\n\t\t\t\t\tname: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (activityGroup) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"community-gift\",\n\t\t\t\t\t_role: \"recipient\",\n\t\t\t\t\tactivityGroup,\n\t\t\t\t\trecipient: (username ?? data.displayName) as string,\n\t\t\t\t\ttier: tierInfo.tier,\n\t\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttype: \"unknown\",\n\t\t\t\tdetail,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"subscriber-latest\") {\n\t\tconst bulkGifted = event.bulkGifted === true;\n\t\tconst sender = event.sender as string | undefined;\n\t\tconst name = event.name as string | undefined;\n\t\tconst amount = parseInt(String(event.amount), 10) || 1;\n\t\tconst gifted = event.gifted === true;\n\t\tconst isCommunityGift =\n\t\t\tevent.isCommunityGift === true || event.communityGifted === true;\n\n\t\tif (bulkGifted && sender === \"Anonymous\") {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (bulkGifted && sender) {\n\t\t\treturn {\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\ttotalAmount: amount,\n\t\t\t\trecipients: [],\n\t\t\t};\n\t\t}\n\t\tif (gifted && !isCommunityGift && sender) {\n\t\t\tconst firstGift =\n\t\t\t\tString(event.message ?? \"\").indexOf(\"first Gift Sub\") !== -1;\n\t\t\treturn {\n\t\t\t\ttype: \"solo-sub-to-someone\",\n\t\t\t\tsender,\n\t\t\t\trecipient: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t\tfirstGiftInChannel: firstGift,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount > 1) {\n\t\t\treturn {\n\t\t\t\ttype: \"sub-renewal\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\tmonths: amount,\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\tif (!gifted && amount === 1 && (sender == null || name === sender)) {\n\t\t\treturn {\n\t\t\t\ttype: \"self-sub\",\n\t\t\t\tname: name ?? \"\",\n\t\t\t\ttier: tierInfo.tier,\n\t\t\t\ttierText: tierInfo.tierText,\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"unknown\",\n\t\t\tdetail,\n\t\t};\n\t}\n\n\tif (listener === \"follower-latest\") {\n\t\treturn {\n\t\t\ttype: \"follow\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t};\n\t}\n\n\tif (listener === \"cheer-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"cheer\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tamount,\n\t\t};\n\t}\n\n\tif (listener === \"raid-latest\") {\n\t\tconst amount = parseInt(String(event.amount), 10) || 0;\n\t\treturn {\n\t\t\ttype: \"raid\",\n\t\t\tname: (event.name as string) ?? \"\",\n\t\t\tviewers: amount,\n\t\t};\n\t}\n\n\tif (listener === \"donation\") {\n\t\tconst d = detail.event?.data as\n\t\t\t| {\n\t\t\t\t\talert_type?: string;\n\t\t\t\t\tcurrency?: string;\n\t\t\t\t\tbilling_system?: string;\n\t\t\t\t\tid?: number;\n\t\t\t\t\tamount_main?: number;\n\t\t\t\t\tamount?: number;\n\t\t\t\t\tusername?: string;\n\t\t\t\t\tmessage?: string;\n\t\t\t }\n\t\t\t| undefined;\n\n\t\tconst donationAmount =\n\t\t\t(d?.amount_main as number | undefined) ??\n\t\t\t(d?.amount as number | undefined) ??\n\t\t\t0;\n\n\t\treturn {\n\t\t\ttype: \"donation\",\n\t\t\tamount: donationAmount,\n\t\t\tcurrency: d?.currency,\n\t\t\tusername: d?.username,\n\t\t\tmessage: d?.message,\n\t\t\tbillingSystem: d?.billing_system,\n\t\t\tid: d?.id,\n\t\t};\n\t}\n\n\treturn {\n\t\ttype: \"unknown\",\n\t\tdetail,\n\t};\n}\n","/**\n * Event normalizer — aggregate mode: buffer events by activityGroup,\n * merge into one normalized event per action (timeout 2.5s).\n */\n\nimport { classifyEvent, getCacheKey } from \"./classifier.js\";\nimport type {\n\tCacheSubsByType,\n\tClassifiedCommunityGiftPurchase,\n\tClassifiedEvent,\n\tClassifiedRecipient,\n\tIncomingDetail,\n\tNormalizerOptions,\n} from \"./types\";\n\nconst AGGREGATE_TIMEOUT_MS = 2500;\n\ninterface BufferEntry {\n\ttype: string;\n\tsubscribers: Array<{\n\t\trecipient?: string;\n\t\tusername?: string;\n\t\tname?: string;\n\t\tsender?: string;\n\t}>;\n\ttier: number;\n\ttierText: string;\n\ttotalAmount: number;\n\tpurchase?: ClassifiedCommunityGiftPurchase;\n\tsender?: string;\n}\n\nconst bufferByGroup: Record<string, BufferEntry> = {};\nconst bufferTimers: Record<string, ReturnType<typeof setTimeout>> = {};\n\nfunction getCacheForType(\n\tcacheSubs: CacheSubsByType | undefined,\n\ttype: string,\n): {\n\t_has: (k: string) => boolean;\n\t_set: (k: string, v: boolean) => void;\n} | null {\n\tif (!cacheSubs) return null;\n\tif (\n\t\ttypeof cacheSubs._has === \"function\" &&\n\t\ttypeof cacheSubs._set === \"function\"\n\t) {\n\t\treturn cacheSubs as unknown as {\n\t\t\t_has: (k: string) => boolean;\n\t\t\t_set: (k: string, v: boolean) => void;\n\t\t};\n\t}\n\tconst c = cacheSubs[type];\n\treturn c && typeof (c as { _has?: unknown })._has === \"function\"\n\t\t? (c as {\n\t\t\t\t_has: (k: string) => boolean;\n\t\t\t\t_set: (k: string, v: boolean) => void;\n\t\t\t})\n\t\t: null;\n}\n\nfunction emitAggregated(\n\tgroupKey: string,\n\tmerged: ClassifiedCommunityGiftPurchase,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cache = getCacheForType(cacheSubs, merged.type as string);\n\tif (cache?._has(groupKey)) return;\n\tif (cache) cache._set(groupKey, true);\n\tonNormalized(merged);\n}\n\nfunction flushBuffer(\n\tgroupKey: string,\n\tcacheSubs: CacheSubsByType | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n\tbroadcaster: string,\n): void {\n\tconst buf = bufferByGroup[groupKey];\n\tif (!buf) return;\n\tdelete bufferByGroup[groupKey];\n\tif (bufferTimers[groupKey]) {\n\t\tclearTimeout(bufferTimers[groupKey]);\n\t\tdelete bufferTimers[groupKey];\n\t}\n\tconst purchase = buf.purchase;\n\tconst subscribers = buf.subscribers ?? [];\n\tconst type = buf.type;\n\tconst tier = buf.tier;\n\tconst tierText = buf.tierText;\n\tconst totalAmount = buf.totalAmount ?? subscribers.length;\n\tconst recipients = subscribers\n\t\t.map((s) => s.recipient ?? s.username ?? s.name)\n\t\t.filter(Boolean) as string[];\n\tconst firstSub = subscribers[0];\n\tconst senderFromSub = firstSub?.sender;\n\tconst sender = purchase?.sender ?? buf.sender ?? senderFromSub;\n\tif (type === \"community-gift\" && broadcaster && sender === broadcaster) {\n\t\treturn;\n\t}\n\tif (type === \"community-gift-anonymous\") {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift-anonymous\",\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t\tanonymousDisplayName: purchase?.anonymousDisplayName,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t} else {\n\t\temitAggregated(\n\t\t\tgroupKey,\n\t\t\t{\n\t\t\t\ttype: \"community-gift\",\n\t\t\t\tsender,\n\t\t\t\ttier,\n\t\t\t\ttierText,\n\t\t\t\ttotalAmount,\n\t\t\t\trecipients,\n\t\t\t},\n\t\t\tcacheSubs,\n\t\t\tonNormalized,\n\t\t);\n\t}\n}\n\n/**\n * Normalizes an incoming subscription event (StreamElements/Twitch).\n * Buffers community-gift recipients by activityGroup, then emits one normalized event per group.\n * For self-sub, solo-sub, sub-renewal emits immediately (with optional cache dedup).\n */\nexport function normalizeIncomingEvent(\n\tdetail: IncomingDetail,\n\toptions: NormalizerOptions | undefined,\n\tonNormalized: (event: ClassifiedEvent | null) => void,\n): void {\n\tconst cacheSubs = options?.cacheSubs;\n\tconst broadcaster = options?.broadcasterLogin ?? \"\";\n\n\tconst classified = classifyEvent(detail);\n\tif (!classified) {\n\t\tonNormalized(null);\n\t\treturn;\n\t}\n\n\tconst cache = getCacheForType(cacheSubs, classified.type);\n\tconst cacheKey = getCacheKey(detail);\n\tconst event = detail.event ?? {};\n\tconst data = (event.data ?? event) as Record<string, unknown>;\n\n\tif ((classified as ClassifiedRecipient)._role === \"recipient\") {\n\t\tconst recipient = classified as ClassifiedRecipient;\n\t\tconst ag = recipient.activityGroup ?? cacheKey;\n\t\tif (!bufferByGroup[ag]) {\n\t\t\tbufferByGroup[ag] = {\n\t\t\t\ttype: recipient.type,\n\t\t\t\tsubscribers: [],\n\t\t\t\ttier: recipient.tier,\n\t\t\t\ttierText: recipient.tierText,\n\t\t\t\ttotalAmount: 0,\n\t\t\t};\n\t\t}\n\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\tbufferByGroup[ag].subscribers.push({\n\t\t\trecipient: recipient.recipient,\n\t\t\tusername: data.username as string,\n\t\t\tname: data.displayName as string,\n\t\t\tsender: data.sender as string,\n\t\t});\n\t\tif (bufferByGroup[ag].totalAmount === 0) bufferByGroup[ag].totalAmount = 1;\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"community-gift-anonymous\" ||\n\t\tclassified.type === \"community-gift\"\n\t) {\n\t\tconst isPurchase =\n\t\t\tdetail.listener === \"event\" && event.type === \"communityGiftPurchase\";\n\t\tif (isPurchase) {\n\t\t\tconst ag = (event.activityGroup ??\n\t\t\t\tdata?.activityGroup ??\n\t\t\t\tcacheKey) as string;\n\t\t\tconst cg = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (!bufferByGroup[ag]) {\n\t\t\t\tbufferByGroup[ag] = {\n\t\t\t\t\ttype: cg.type,\n\t\t\t\t\tpurchase: cg,\n\t\t\t\t\tsubscribers: [],\n\t\t\t\t\ttier: cg.tier,\n\t\t\t\t\ttierText: cg.tierText,\n\t\t\t\t\ttotalAmount: Number(cg.totalAmount) || 0,\n\t\t\t\t\tsender: cg.sender,\n\t\t\t\t};\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t} else {\n\t\t\t\tbufferByGroup[ag].purchase = cg;\n\t\t\t\tbufferByGroup[ag].tier = cg.tier;\n\t\t\t\tbufferByGroup[ag].tierText = cg.tierText;\n\t\t\t\tbufferByGroup[ag].totalAmount =\n\t\t\t\t\t(cg.totalAmount as number) ?? bufferByGroup[ag].totalAmount;\n\t\t\t\tbufferByGroup[ag].sender = cg.sender as string;\n\t\t\t\tif (bufferTimers[ag]) clearTimeout(bufferTimers[ag]);\n\t\t\t\tbufferTimers[ag] = setTimeout(() => {\n\t\t\t\t\tflushBuffer(ag, cacheSubs, onNormalized, broadcaster);\n\t\t\t\t}, AGGREGATE_TIMEOUT_MS);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (detail.listener === \"subscriber-latest\") {\n\t\t\tconst c = classified as ClassifiedCommunityGiftPurchase;\n\t\t\tif (\n\t\t\t\tclassified.type === \"community-gift\" &&\n\t\t\t\tbroadcaster &&\n\t\t\t\tc.sender === broadcaster\n\t\t\t) {\n\t\t\t\tonNormalized(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\treturn;\n\t}\n\n\tif (\n\t\tclassified.type === \"self-sub\" ||\n\t\tclassified.type === \"solo-sub-to-someone\" ||\n\t\tclassified.type === \"sub-renewal\"\n\t) {\n\t\tif (cache?._has(cacheKey)) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tif (cache) cache._set(cacheKey, true);\n\t\tconst c = classified as unknown as Record<string, unknown>;\n\t\tif (\n\t\t\tclassified.type === \"solo-sub-to-someone\" &&\n\t\t\tbroadcaster &&\n\t\t\tc.sender === broadcaster\n\t\t) {\n\t\t\tonNormalized(null);\n\t\t\treturn;\n\t\t}\n\t\tonNormalized(classified);\n\t}\n}\n","export default {\n\tsession: {\n\t\tdata: {\n\t\t\t\"follower-latest\": {\n\t\t\t\tname: \"imacanadiannn\",\n\t\t\t},\n\t\t\t\"follower-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"follower-goal\": {\n\t\t\t\tamount: 137,\n\t\t\t},\n\t\t\t\"follower-total\": {\n\t\t\t\tcount: 118,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\ttier: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-new-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-resub-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t\t\"subscriber-gifted-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t\tsender: \"\",\n\t\t\t},\n\t\t\t\"subscriber-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-new-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-resub-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-gifted-session\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-week\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-month\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"subscriber-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"subscriber-total\": {\n\t\t\t\tcount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-points\": {\n\t\t\t\tamount: 0,\n\t\t\t\tactivityId: \"\",\n\t\t\t\tsessionTop: false,\n\t\t\t},\n\t\t\t\"subscriber-alltime-gifter\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"host-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"raid-latest\": {\n\t\t\t\tname: \"agnascor2\",\n\t\t\t\tamount: 6,\n\t\t\t},\n\t\t\t\"cheer-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"cheer-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheer-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-weekly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-monthly-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheer-alltime-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"tip-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"tip-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"tip-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-orders\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-items\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-goal-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"merch-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"charityCampaignDonation-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"charityCampaignDonation-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"cheerPurchase-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donation\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-weekly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-monthly-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-alltime-top-donator\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-week\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-month\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-count\": {\n\t\t\t\tcount: 0,\n\t\t\t},\n\t\t\t\"superchat-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"purchase-latest\": {\n\t\t\t\tname: \"\",\n\t\t\t\tamount: 0,\n\t\t\t\tavatar: \"\",\n\t\t\t\tmessage: \"\",\n\t\t\t\titems: [],\n\t\t\t},\n\t\t\t\"follower-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"imacanadiannn\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"piwo143\",\n\t\t\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"latvan_\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"wheinwait\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sunlitetuts\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"ayanamya\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hopeless28\",\n\t\t\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakoytoclown\",\n\t\t\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"dababe__jq1\",\n\t\t\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"jjjllkmf\",\n\t\t\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"d4c_valintine\",\n\t\t\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"angelbliss_\",\n\t\t\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"o1zich\",\n\t\t\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"nearbuziky\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"samirkasamsa\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"flip1mip\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"valerie_solo\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"sxaelence\",\n\t\t\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"avokadik99\",\n\t\t\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"blackvoronstream\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"baldejniyy\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"p3ch4n_ka\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"kakosik_bee\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"hikotoru\",\n\t\t\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\t\t\ttype: \"follower\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"subscriber-recent\": [],\n\t\t\t\"host-recent\": [],\n\t\t\t\"raid-recent\": [\n\t\t\t\t{\n\t\t\t\t\tname: \"agnascor2\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"justduckomgg\",\n\t\t\t\t\tamount: 7,\n\t\t\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 12,\n\t\t\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 6,\n\t\t\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 19,\n\t\t\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 9,\n\t\t\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 8,\n\t\t\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"night_sculptor\",\n\t\t\t\t\tamount: 22,\n\t\t\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"pixiemays\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"aki_neki\",\n\t\t\t\t\tamount: 5,\n\t\t\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"alechkavt\",\n\t\t\t\t\tamount: 11,\n\t\t\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 15,\n\t\t\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"veessmk\",\n\t\t\t\t\tamount: 10,\n\t\t\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\t\t\ttype: \"raid\",\n\t\t\t\t},\n\t\t\t],\n\t\t\t\"charityCampaignDonation-recent\": [],\n\t\t\t\"cheer-recent\": [],\n\t\t\t\"cheerPurchase-recent\": [],\n\t\t\t\"superchat-recent\": [],\n\t\t\t\"tip-recent\": [],\n\t\t\t\"merch-recent\": [],\n\t\t\t\"channel-points-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tmessage: \"\",\n\t\t\t\tname: \"\",\n\t\t\t\tredemption: \"\",\n\t\t\t},\n\t\t\t\"community-gift-latest\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttier: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"charityCampaignDonation-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"cheerPurchase-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest\": {\n\t\t\t\tactive: 0,\n\t\t\t\tamount: 0,\n\t\t\t\tlevel: 0,\n\t\t\t\tlevelChanged: 0,\n\t\t\t\tname: \"\",\n\t\t\t\ttype: \"\",\n\t\t\t},\n\t\t\t\"hypetrain-latest-top-contributors\": [],\n\t\t\t\"hypetrain-level-goal\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"hypetrain-level-progress\": {\n\t\t\t\tamount: 0,\n\t\t\t\tpercent: 0,\n\t\t\t},\n\t\t\t\"hypetrain-total\": {\n\t\t\t\tamount: 0,\n\t\t\t},\n\t\t\t\"superchat-session-top-donation\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t\t\"superchat-session-top-donator\": {\n\t\t\t\tamount: 0,\n\t\t\t\tname: \"\",\n\t\t\t},\n\t\t},\n\t\tsettings: {\n\t\t\tautoReset: true,\n\t\t\tcalendar: false,\n\t\t\tresetOnStart: false,\n\t\t},\n\t},\n\trecents: [\n\t\t{\n\t\t\tname: \"imacanadiannn\",\n\t\t\tcreatedAt: \"2026-01-13T01:53:50.296Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"piwo143\",\n\t\t\tcreatedAt: \"2026-01-13T01:51:39.472Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"latvan_\",\n\t\t\tcreatedAt: \"2026-01-12T23:54:29.235Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"wheinwait\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:28.946Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tcreatedAt: \"2026-01-12T23:11:14.880Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sunlitetuts\",\n\t\t\tcreatedAt: \"2026-01-12T21:03:59.207Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"ayanamya\",\n\t\t\tcreatedAt: \"2026-01-12T20:00:55.509Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hopeless28\",\n\t\t\tcreatedAt: \"2026-01-12T18:35:21.731Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakoytoclown\",\n\t\t\tcreatedAt: \"2026-01-11T18:39:36.843Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"dababe__jq1\",\n\t\t\tcreatedAt: \"2024-10-10T23:27:49.699Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"jjjllkmf\",\n\t\t\tcreatedAt: \"2024-05-05T09:44:16.287Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"d4c_valintine\",\n\t\t\tcreatedAt: \"2024-05-03T15:13:28.365Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"angelbliss_\",\n\t\t\tcreatedAt: \"2024-04-30T20:07:23.132Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"o1zich\",\n\t\t\tcreatedAt: \"2024-04-22T16:23:26.139Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"nearbuziky\",\n\t\t\tcreatedAt: \"2024-04-19T19:21:27.569Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"samirkasamsa\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:38.963Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"flip1mip\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:18.276Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"valerie_solo\",\n\t\t\tcreatedAt: \"2024-04-19T17:06:07.473Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"sxaelence\",\n\t\t\tcreatedAt: \"2024-04-19T07:06:46.330Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"avokadik99\",\n\t\t\tcreatedAt: \"2024-04-17T16:11:29.604Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"blackvoronstream\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:33.306Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"baldejniyy\",\n\t\t\tcreatedAt: \"2024-04-16T21:29:09.647Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"p3ch4n_ka\",\n\t\t\tcreatedAt: \"2024-04-16T16:37:31.841Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"kakosik_bee\",\n\t\t\tcreatedAt: \"2024-04-16T15:56:27.435Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"hikotoru\",\n\t\t\tcreatedAt: \"2024-04-16T15:13:25.226Z\",\n\t\t\ttype: \"follower\",\n\t\t},\n\t\t{\n\t\t\tname: \"agnascor2\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2026-01-12T23:08:21.815Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"justduckomgg\",\n\t\t\tamount: 7,\n\t\t\tcreatedAt: \"2024-04-19T17:05:53.185Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-17T15:40:43.945Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 12,\n\t\t\tcreatedAt: \"2024-04-16T18:07:40.040Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 6,\n\t\t\tcreatedAt: \"2024-04-16T16:37:24.433Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-14T18:31:20.049Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 19,\n\t\t\tcreatedAt: \"2024-04-14T13:22:05.794Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-12T17:03:36.115Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 9,\n\t\t\tcreatedAt: \"2024-04-11T17:54:47.691Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 8,\n\t\t\tcreatedAt: \"2024-04-11T14:10:49.548Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"night_sculptor\",\n\t\t\tamount: 22,\n\t\t\tcreatedAt: \"2024-04-09T16:13:41.195Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"pixiemays\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-08T09:54:01.603Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"aki_neki\",\n\t\t\tamount: 5,\n\t\t\tcreatedAt: \"2024-04-07T21:52:45.919Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"alechkavt\",\n\t\t\tamount: 11,\n\t\t\tcreatedAt: \"2024-04-07T18:59:39.286Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 15,\n\t\t\tcreatedAt: \"2024-04-07T16:13:25.172Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t\t{\n\t\t\tname: \"veessmk\",\n\t\t\tamount: 10,\n\t\t\tcreatedAt: \"2024-03-17T16:11:38.631Z\",\n\t\t\ttype: \"raid\",\n\t\t},\n\t],\n\tcurrency: {\n\t\tcode: \"USD\",\n\t\tname: \"U.S. Dollar\",\n\t\tsymbol: \"$\",\n\t},\n\tchannel: {\n\t\tusername: \"encry_s\",\n\t\tapiToken: \"HAHANOTNOW\",\n\t\tid: \"65ba7503dc0415cb368947b1\",\n\t\tproviderId: \"485678132\",\n\t\tavatar:\n\t\t\t\"https://static-cdn.jtvnw.net/jtv_user_pictures/6fe93724-803a-4e5a-b58a-1d42fbc84661-profile_image-300x300.jpeg\",\n\t},\n\tfieldData: {\n\t\ttestMessageButton: \"zaytri_dynamicchatbubbles\",\n\t\tpreviewMode: false,\n\t\tpreviewType: \"random\",\n\t\tpreviewMessage: \"\",\n\t\ttheme: \"animal-crossing\",\n\t\tcorner: \"round\",\n\t\tdarkMode: false,\n\t\thighlightStyle: \"normal\",\n\t\tactionStyle: \"italics\",\n\t\tmaxWidth: 400,\n\t\tmaxHeight: 300,\n\t\tfixedWidth: false,\n\t\tpositionMode: \"list\",\n\t\tlistDirection: \"bottom\",\n\t\tlistAlignment: \"center\",\n\t\ttopEdge: true,\n\t\tbottomEdge: true,\n\t\tleftEdge: true,\n\t\trightEdge: true,\n\t\tedgeDeviation: 0,\n\t\tpadding: 30,\n\t\tanimation: \"dynamic\",\n\t\tdynamicModifier: 1.75,\n\t\tmaxMessages: 25,\n\t\thideOutOfBounds: true,\n\t\tlifetime: 0,\n\t\tdelay: 1,\n\t\tgoogleFont: \"Nunito\",\n\t\tcustomFont: \"\",\n\t\tfontSize: 18,\n\t\tfontWeight: \"bold\",\n\t\ttextDirection: \"ltr\",\n\t\tuseCustomBorderColors: true,\n\t\tborderColor: \"#fed400\",\n\t\tnameColor: \"#000000\",\n\t\tuseCustomMessageColors: true,\n\t\tbackgroundColor: \"#fff3c0\",\n\t\ttextColor: \"#000000\",\n\t\tpronounsMode: \"suffix\",\n\t\tpronounsLowercase: true,\n\t\tpronounsBadgeCustomColors: false,\n\t\tpronounsBadgeBackgroundColor: \"#000000\",\n\t\tpronounsBadgeBorderColor: \"#FFFFFF\",\n\t\tpronounsBadgeTextColor: \"#FFFFFF\",\n\t\tshowBadges: true,\n\t\tlargeEmotes: true,\n\t\tffzGlobal: false,\n\t\tbttvGlobal: false,\n\t\temoteOnly: false,\n\t\thighlightOnly: false,\n\t\tallowedStrings: [],\n\t\tminMessages: 0,\n\t\tmessageCooldown: 0,\n\t\traidCooldown: 0,\n\t\traidMin: 0,\n\t\tincludeEveryone: true,\n\t\tincludeFollowers: \"true\",\n\t\tminFollowTime: 1,\n\t\tincludeSubs: true,\n\t\tincludeVIPs: true,\n\t\tincludeMods: true,\n\t\tallowUserList: [],\n\t\tignoreUserList: [\"StreamElements\", \"Streamlabs\", \"Nightbot\", \"Sery_Bot\"],\n\t\tignorePrefixList: [\"!\"],\n\t\tvolume: 50,\n\t\tsoundGroup1: [],\n\t\tuserLevelSoundGroup1: \"everyone\",\n\t\tspecificUsersSoundGroup1: [],\n\t\tmessageTypeSoundGroup1: \"all\",\n\t\tsoundGroup2: [],\n\t\tuserLevelSoundGroup2: \"everyone\",\n\t\tspecificUsersSoundGroup2: [],\n\t\tmessageTypeSoundGroup2: \"all\",\n\t\tsoundGroup3: [],\n\t\tuserLevelSoundGroup3: \"everyone\",\n\t\tspecificUsersSoundGroup3: [],\n\t\tmessageTypeSoundGroup3: \"all\",\n\t\tsoundGroup4: [],\n\t\tuserLevelSoundGroup4: \"everyone\",\n\t\tspecificUsersSoundGroup4: [],\n\t\tmessageTypeSoundGroup4: \"all\",\n\t\tsoundGroup5: [],\n\t\tuserLevelSoundGroup5: \"everyone\",\n\t\tspecificUsersSoundGroup5: [],\n\t\tmessageTypeSoundGroup5: \"all\",\n\t\tsoundGroup6: [],\n\t\tuserLevelSoundGroup6: \"everyone\",\n\t\tspecificUsersSoundGroup6: [],\n\t\tmessageTypeSoundGroup6: \"all\",\n\t\tsoundGroup7: [],\n\t\tuserLevelSoundGroup7: \"everyone\",\n\t\tspecificUsersSoundGroup7: [],\n\t\tmessageTypeSoundGroup7: \"all\",\n\t\tsoundGroup8: [],\n\t\tuserLevelSoundGroup8: \"everyone\",\n\t\tspecificUsersSoundGroup8: [],\n\t\tmessageTypeSoundGroup8: \"all\",\n\t\tsoundGroup9: [],\n\t\tuserLevelSoundGroup9: \"everyone\",\n\t\tspecificUsersSoundGroup9: [],\n\t\tmessageTypeSoundGroup9: \"all\",\n\t\tsoundGroup10: [],\n\t\tuserLevelSoundGroup10: \"everyone\",\n\t\tspecificUsersSoundGroup10: [],\n\t\tmessageTypeSoundGroup10: \"all\",\n\t\twidgetName: \"Chat Bubbles\",\n\t\twidgetAuthor: \"Zaytri\",\n\t\twidgetVersion: \"2.12.0\",\n\t\twidgetUpdateUrl:\n\t\t\t\"https://github.com/zaytri/stream-elements-widgets/blob/main/DynamicChatBubbles\",\n\t\tignoreFirst: true,\n\t},\n\toverlay: {\n\t\tisEditorMode: true,\n\t\tmuted: false,\n\t},\n};\n","export const testAlerts = {\n\tfollower: {\n\t\tlistener: \"follower-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t},\n\t},\n\tcommunityGiftAnonymous: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"41a50a915794e4ae7cf5e600fd3445d4\",\n\t\t\tdata: {\n\t\t\t\tamount: 2,\n\t\t\t\tusername: \"anonymous\",\n\t\t\t\tdisplayName: \"AnAnonymousGifter\",\n\t\t\t\ttier: \"2000\",\n\t\t\t\tsender: \"Anonymous\",\n\t\t\t},\n\t\t\t_id: \"699868d7df734989ec85d393\",\n\t\t\tactivityId: \"699868d7df734989ec85d393\",\n\t\t},\n\t},\n\tcommunityGift: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"communityGiftPurchase\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tactivityGroup: \"841592c0bccbf3e1e7de71e1c8f4d9f0\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t},\n\t\t\t_id: \"699867c7fef23197a6a089f5\",\n\t\t\tactivityId: \"699867c7fef23197a6a089f5\",\n\t\t},\n\t},\n\tsub: {\n\t\tlistener: \"subscriber-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 1,\n\t\t},\n\t},\n\tselfSub: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"rishamon\",\n\t\t\t\tdisplayName: \"rishamon\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"6998676317aed69e62b8f283\",\n\t\t\tactivityId: \"6998676317aed69e62b8f283\",\n\t\t},\n\t},\n\tsoloSubToSomeone: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 1,\n\t\t\t\tusername: \"encry_s\",\n\t\t\t\tdisplayName: \"encry_s\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"rishamon gifted a Tier 1 sub to encry_s! This is their first Gift Sub in the channel!\",\n\t\t\t\ttier: \"1000\",\n\t\t\t\tsender: \"rishamon\",\n\t\t\t\tgifted: true,\n\t\t\t},\n\t\t\t_id: \"699866e82d9cd9a70854baf2\",\n\t\t\tactivityId: \"699866e82d9cd9a70854baf2\",\n\t\t},\n\t},\n\tsubRenewal: {\n\t\tlistener: \"event\",\n\t\tevent: {\n\t\t\ttype: \"subscriber\",\n\t\t\tprovider: \"twitch\",\n\t\t\tchannel: \"663b10ba6cd449c4162a2230\",\n\t\t\tdata: {\n\t\t\t\tamount: 8,\n\t\t\t\tusername: \"silgestian\",\n\t\t\t\tdisplayName: \"SilgeStian\",\n\t\t\t\ttier: \"1000\",\n\t\t\t},\n\t\t\t_id: \"69986dfaf25724ff4162bd1a\",\n\t\t\tactivityId: \"69986dfaf25724ff4162bd1a\",\n\t\t},\n\t},\n\tbits: {\n\t\tlistener: \"cheer-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 30,\n\t\t},\n\t},\n\traid: {\n\t\tlistener: \"raid-latest\",\n\t\tevent: {\n\t\t\tname: \"An1by\",\n\t\t\tamount: 50,\n\t\t},\n\t},\n\tdonationShortText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"Simple message text\",\n\t\t\t},\n\t\t},\n\t},\n\tdonationLongText: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage:\n\t\t\t\t\t\"A plain gray stone lay on the shore, basking in the sun's warmth. A shove broke its peace—a thoughtless toss sent it flying. The stone splashed into water. Ripples spread, yet none noticed. It sank to the bottom, heavy with loneliness. \\\"Didn't I deserve to stay where I was happy still?\\\" it wondered.\",\n\t\t\t},\n\t\t},\n\t},\n\tdonation: {\n\t\tlistener: \"donation\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\talert_type: \"1\",\n\t\t\t\tcurrency: \"RUB\",\n\t\t\t\tbilling_system: \"CARD\",\n\t\t\t\tid: 5,\n\t\t\t\tamount_main: 500,\n\t\t\t\tamount: 500,\n\t\t\t\tusername: \"An1by\",\n\t\t\t\tmessage: \"\",\n\t\t\t},\n\t\t},\n\t},\n};\n","export const testMessages = {\n\tzeroWidthEmotesInRow: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317417111,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"f70c4cd8b6034d1f805298246ee1bc35\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317416862\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored Censored Censored emotes in row\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"5f752ae3-4be9-4f93-82d1-d78575ba07fd\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emotes in row',\n\t\t},\n\t},\n\tzeroWidthEmoteInMiddle: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317383248,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"847f9c27722340d090eddcb0d0662b5b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317382987\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"text and Censored emote\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 9,\n\t\t\t\t\t\tend: 17,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"3dea1e1e-89f7-4a5f-b743-13ba0386492f\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'text and <img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">emote',\n\t\t},\n\t},\n\tzeroWidthEmoteFirst: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768317236883,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"e9d0621827184c1b940fd700ae599d60\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768317236625\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"Censored <- zeroWidth emote on the first place\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 8,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"6f347337-354a-42e5-bab0-935e19d74152\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">&lt;- zeroWidth emote on the first place',\n\t\t},\n\t},\n\tveryShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"IHaveVeryBigNickname\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"IHaveVeryBigNickname\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"IHaveVeryBigNickname\",\n\t\t\t\ttext: \"A!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"A!\",\n\t\t},\n\t},\n\tviewer: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"SimpleViewer\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"SimpleViewer\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"SimpleViewer\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tvip: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona!\",\n\t\t},\n\t},\n\tvipLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743844261,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"vip/1\",\n\t\t\t\t\t\"client-nonce\": \"fd72ba163a9cc1a6486b2eddb0f5d893\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743843170\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t\tvip: \"1\",\n\t\t\t\t},\n\t\t\t\tnick: \"VipPersona\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"VipPersona\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"vip\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/b817aba4-fad8-49e2-b88a-7cc744dfa6ec/3\",\n\t\t\t\t\t\tdescription: \"VIP\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"VipPersona\",\n\t\t\t\ttext: \"I am a VIP persona! Are you see this?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"51cac44b-9908-49d2-b424-489276e1e521\",\n\t\t\t},\n\t\t\trenderedText: \"I am a VIP persona! Are you see this?\",\n\t\t},\n\t},\n\tartist: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743916482,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"artist-badge/1\",\n\t\t\t\t\t\"client-nonce\": \"54128d734d44e28ffc32e1ce236993f5\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743915371\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"StarArtist\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"StarArtist\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"artist-badge\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/4300a897-03dc-4e83-8c0e-c332fee7057f/3\",\n\t\t\t\t\t\tdescription: \"Artist\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"StarArtist\",\n\t\t\t\ttext: \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"8ee7e71a-3608-486a-bd82-a82b65982ca7\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\",\n\t\t},\n\t},\n\tsubscriber: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tdata: {\n\t\t\t\ttags: {\n\t\t\t\t\tbadges: \"subscriber/1\",\n\t\t\t\t\tcolor: \"#ff69b4\",\n\t\t\t\t\tvip: \"0\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"user-id\": \"100135110\",\n\t\t\t\t\t\"user-type\": \"subscriber\",\n\t\t\t\t},\n\t\t\t\tnick: \"YourSub\",\n\t\t\t\tuserId: \"100135110\",\n\t\t\t\tdisplayName: \"YourSub\",\n\t\t\t\tdisplayColor: \"#ff69b4\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"partner\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/d12a2e27-16f6-41d0-ab77-b780518f00a3/3\",\n\t\t\t\t\t\tdescription: \"Verified\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\ttext: \"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"43285909-412c-4eee-b80d-89f1482ba53142\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t\"This is a subscriber's test message. I'm just a subscriber, srsly.\",\n\t\t},\n\t},\n\tfounder: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743750546,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"founder/1,subscriber/1\",\n\t\t\t\t\t\"client-nonce\": \"a3fe71a5771d0c31466dd333c963231e\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"sub__founder\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743749437\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"sub__founder\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"sub__founder\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"founder\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I finally finished it...\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3d0d1a43-45e5-4652-be59-0b31dfeba796\",\n\t\t\t},\n\t\t\trenderedText: \"I finally finished it...\",\n\t\t},\n\t},\n\tmoderator: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!?\",\n\t\t},\n\t},\n\tmoderatorLong: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749743997223,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"moderator/1\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t\t\tmod: \"1\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749743996136\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"mod\",\n\t\t\t\t},\n\t\t\t\tnick: \"mediator\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"mediator\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"moderator\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/3267646d-33f0-4b17-b3df-f923a41db1d0/3\",\n\t\t\t\t\t\tdescription: \"Moderator\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"mediator\",\n\t\t\t\ttext: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"3e7ba532-f181-4bcc-90f1-a3c48ca3c820\",\n\t\t\t},\n\t\t\trenderedText: \"Did someone say... MODERATOR!? Yes, I am moderator!\",\n\t\t},\n\t},\n\tbroadcaster: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I made this chat Besplatno\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Besplatno\",\n\t\t\t\t\t\tid: \"01FE70VRT00009TR6M9N941A28\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 17,\n\t\t\t\t\t\tend: 26,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\tbroadcasterShort: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744800809,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/16\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"6989104421ee14c0a8c216ef1c6bb5ed\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744799706\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"okak\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"35a9bea7-076e-4d17-8cb7-7e65c8111b3d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'I made this chat <img src=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/1x.webp 1x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/2x.webp 2x, https://cdn.7tv.app/emote/01FE70VRT00009TR6M9N941A28/4x.webp 4x\" title=\"Besplatno\" class=\"emote\">',\n\t\t},\n\t},\n\temoteSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744097330,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744096217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"🤤😮💀👈👉\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f62e\",\n\t\t\t\t\t\tid: \"1f62e\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f62e.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f480\",\n\t\t\t\t\t\tid: \"1f480\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f480.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f448\",\n\t\t\t\t\t\tid: \"1f448\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f448.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"emoji\",\n\t\t\t\t\t\tname: \"1f449\",\n\t\t\t\t\t\tid: \"1f449\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://twemoji.maxcdn.com/36x36/1f449.png\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9ab645b9-7c27-4c6f-99fd-f63727ca3700\",\n\t\t\t},\n\t\t\trenderedText: \"🤤😮💀👈👉\",\n\t\t},\n\t},\n\temoteOne: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"SeemsGood\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 9,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\">',\n\t\t},\n\t},\n\temoteText: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744131183,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes:\n\t\t\t\t\t\t\"41:20-27/245:29-43/28087:45-51/58765:53-63/555555584:65-66/64138:10-18\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744130018\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Not emote SeemsGood Kreygasm ResidentSleeper WutFace NotLikeThis <3\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"SeemsGood\",\n\t\t\t\t\t\tid: \"64138\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 10,\n\t\t\t\t\t\tend: 19,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"Kreygasm\",\n\t\t\t\t\t\tid: \"41\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 20,\n\t\t\t\t\t\tend: 28,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"ResidentSleeper\",\n\t\t\t\t\t\tid: \"245\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 29,\n\t\t\t\t\t\tend: 44,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"WutFace\",\n\t\t\t\t\t\tid: \"28087\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 45,\n\t\t\t\t\t\tend: 52,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"NotLikeThis\",\n\t\t\t\t\t\tid: \"58765\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 53,\n\t\t\t\t\t\tend: 64,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"<3\",\n\t\t\t\t\t\tid: \"9\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\",\n\t\t\t\t\t\t\t\"2\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0\",\n\t\t\t\t\t\t\t\"4\": \"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 65,\n\t\t\t\t\t\tend: 67,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"beb957ea-dfbd-4184-82a3-458121f44867\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Not emote <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/64138/static/dark/3.0 4x\" title=\"SeemsGood\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/41/static/dark/3.0 4x\" title=\"Kreygasm\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/245/static/dark/3.0 4x\" title=\"ResidentSleeper\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/28087/static/dark/3.0 4x\" title=\"WutFace\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/58765/static/dark/3.0 4x\" title=\"NotLikeThis\" class=\"emote\"><img src=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/9/static/dark/3.0 4x\" title=\"<3\" class=\"emote\">',\n\t\t},\n\t},\n\tzeroWidthEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1759956619137,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/20\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"f7b17aea5c07c5c08fd920278fb52b5a\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"7TVUser\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1759956618295\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"7TVUser\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"7TVUser\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"7TVUser\",\n\t\t\t\ttext: \"Zero-width emotes AYAYA PETPET right there!!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AYAYA\",\n\t\t\t\t\t\tid: \"01GB32XE6R00018VJGJ4A9BNCV\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 18,\n\t\t\t\t\t\tend: 23,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"PETPET\",\n\t\t\t\t\t\tid: \"01FE3XY508000AA32JP519W2EW\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 24,\n\t\t\t\t\t\tend: 30,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"b44d1c53-1de9-454c-a269-bd8849cbcd2d\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'Zero-width emotes <img src=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/1x.webp 1x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/2x.webp 2x, https://cdn.7tv.app/emote/01GB32XE6R00018VJGJ4A9BNCV/4x.webp 4x\" title=\"AYAYA\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/1x.webp 1x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/2x.webp 2x, https://cdn.7tv.app/emote/01FE3XY508000AA32JP519W2EW/4x.webp 4x\" title=\"PETPET\" class=\"emote\">right there!!',\n\t\t},\n\t},\n\tsevenTv: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1749744413746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"\",\n\t\t\t\t\tbadges: \"\",\n\t\t\t\t\t\"client-nonce\": \"2bd56e3c058b5a4fc4e46c3e369891e6\",\n\t\t\t\t\tcolor: \"\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"0\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1749744412641\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"tr0l1\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"tr0l1\",\n\t\t\t\tdisplayColor: \"\",\n\t\t\t\tbadges: [],\n\t\t\t\tchannel: \"tr0l1\",\n\t\t\t\ttext: \"ало ало Инса Каори Hello everyone! Hello everyone! Hello everyone!Hello everyone! Hello everyone! Hello everyone! Hello everyone! Hello everyone!\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 3,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"ало\",\n\t\t\t\t\t\tid: \"01F6PRA3N80003BH8AEY9DWKDQ\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 4,\n\t\t\t\t\t\tend: 7,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Инса\",\n\t\t\t\t\t\tid: \"01JRE4VRRXWF0922HA3F9BZG6M\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 8,\n\t\t\t\t\t\tend: 12,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Каори\",\n\t\t\t\t\t\tid: \"01GY6TCEFG000BGHWA5T6NGBRA\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 13,\n\t\t\t\t\t\tend: 18,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"4c71789c-8c02-4e25-a71f-3a7d0ef19a33\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/1x.webp 1x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/2x.webp 2x, https://cdn.7tv.app/emote/01F6PRA3N80003BH8AEY9DWKDQ/4x.webp 4x\" title=\"ало\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/1x.webp 1x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/2x.webp 2x, https://cdn.7tv.app/emote/01JRE4VRRXWF0922HA3F9BZG6M/4x.webp 4x\" title=\"Инса\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/1x.webp 1x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/2x.webp 2x, https://cdn.7tv.app/emote/01GY6TCEFG000BGHWA5T6NGBRA/4x.webp 4x\" title=\"Каори\" class=\"emote\">Hello everyone!',\n\t\t},\n\t},\n\tsevenTvSolo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1768321684253,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/23\",\n\t\t\t\t\tbadges: \"broadcaster/1,subscriber/0\",\n\t\t\t\t\t\"client-nonce\": \"51cc77206bf346eda20774b75aac675d\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1768321684074\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"DurkaDance ͏\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DurkaDance\",\n\t\t\t\t\t\tid: \"01JQBC7K2FX7HE4SFZFJEN6CWY\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t\"1\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\",\n\t\t\t\t\t\t\t\"2\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp\",\n\t\t\t\t\t\t\t\"3\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/3x.webp\",\n\t\t\t\t\t\t\t\"4\": \"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 10,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"e30a02bf-a3c7-40f2-9325-cdc2690d3631\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/1x.webp 1x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/2x.webp 2x, https://cdn.7tv.app/emote/01JQBC7K2FX7HE4SFZFJEN6CWY/4x.webp 4x\" title=\"DurkaDance\" class=\"emote\"> ͏',\n\t\t},\n\t},\n\treplyToEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442000746,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"467bc72d78248ec07dfb0602744268ca\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442000143\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"AREYOUAGIRL Censored Emotes there DiscoDoge Кута\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"AREYOUAGIRL\",\n\t\t\t\t\t\tid: \"01F6N58M5R0004P7N4A9PK7KD9\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 0,\n\t\t\t\t\t\tend: 11,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Censored\",\n\t\t\t\t\t\tid: \"01GC2KBETR0009QMKQRDSHDTVB\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 12,\n\t\t\t\t\t\tend: 20,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"DiscoDoge\",\n\t\t\t\t\t\tid: \"01F6REQR2R0006GRP49Q74YFVT\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 34,\n\t\t\t\t\t\tend: 43,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"Кута\",\n\t\t\t\t\t\tid: \"01GZRXWQMR0001GP2RPRY13KD2\",\n\t\t\t\t\t\tgif: true,\n\t\t\t\t\t\tanimated: true,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 44,\n\t\t\t\t\t\tend: 48,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'<img src=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/1x.webp 1x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/2x.webp 2x, https://cdn.7tv.app/emote/01F6N58M5R0004P7N4A9PK7KD9/4x.webp 4x\" title=\"AREYOUAGIRL\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/1x.webp 1x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/2x.webp 2x, https://cdn.7tv.app/emote/01GC2KBETR0009QMKQRDSHDTVB/4x.webp 4x\" title=\"Censored\" class=\"emote\">Emotes there <img src=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/1x.webp 1x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/2x.webp 2x, https://cdn.7tv.app/emote/01F6REQR2R0006GRP49Q74YFVT/4x.webp 4x\" title=\"DiscoDoge\" class=\"emote\"><img src=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/1x.webp 1x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/2x.webp 2x, https://cdn.7tv.app/emote/01GZRXWQMR0001GP2RPRY13KD2/4x.webp 4x\" title=\"Кута\" class=\"emote\">',\n\t\t},\n\t},\n\treplyFromEmotes: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761442023380,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"4052e6a7ed6bb6b8836aa625170c4f7b\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\":\n\t\t\t\t\t\t\"AREYOUAGIRL\\\\sCensored\\\\sThere\\\\semotes\\\\sDiscoDoge\\\\sКута\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"9efd9377-2bd3-4c69-ace4-c21760337bab\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761442022738\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by I'm replying to message with emotes agarge Looks good, am I right?\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"7tv\",\n\t\t\t\t\t\tname: \"agarge\",\n\t\t\t\t\t\tid: \"01HTDV6DE8000B1F9GAE4NZ73B\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\tanimated: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\",\n\t\t\t\t\t\t\t2: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp\",\n\t\t\t\t\t\t\t3: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/3x.webp\",\n\t\t\t\t\t\t\t4: \"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 43,\n\t\t\t\t\t\tend: 49,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"f7bed8dd-5a48-4209-8617-e1a3c0720ee4\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by I\\'m replying to message with emotes <img src=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp\" srcset=\"https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/1x.webp 1x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/2x.webp 2x, https://cdn.7tv.app/emote/01HTDV6DE8000B1F9GAE4NZ73B/4x.webp 4x\" title=\"agarge\" class=\"emote\">Looks good, am I right?',\n\t\t},\n\t},\n\treplyTo: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435519083,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"da4c68fddba7eb1be7ae2b6a44c207a2\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435518511\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"I'll reply to that message\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [],\n\t\t\t\tmsgId: \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t},\n\t\t\trenderedText: \"I'll reply to that message\",\n\t\t},\n\t},\n\treplyFrom: {\n\t\tlistener: \"message\",\n\t\tevent: {\n\t\t\tservice: \"twitch\",\n\t\t\tdata: {\n\t\t\t\ttime: 1761435541811,\n\t\t\t\ttags: {\n\t\t\t\t\t\"badge-info\": \"subscriber/21\",\n\t\t\t\t\tbadges:\n\t\t\t\t\t\t\"broadcaster/1,subscriber/0,minecraft-15th-anniversary-celebration/1\",\n\t\t\t\t\t\"client-nonce\": \"b59db94320a8a01942290c61f6a27480\",\n\t\t\t\t\tcolor: \"#DAA520\",\n\t\t\t\t\t\"display-name\": \"An1by\",\n\t\t\t\t\temotes: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de:26-36\",\n\t\t\t\t\t\"first-msg\": \"0\",\n\t\t\t\t\tflags: \"\",\n\t\t\t\t\tid: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t\t\tmod: \"0\",\n\t\t\t\t\t\"reply-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-parent-msg-body\": \"I'll\\\\sreply\\\\sto\\\\sthat\\\\smessage\",\n\t\t\t\t\t\"reply-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"reply-thread-parent-display-name\": \"An1by\",\n\t\t\t\t\t\"reply-thread-parent-msg-id\": \"794c103d-a5d5-4ce1-bcd8-98ac6717c8e7\",\n\t\t\t\t\t\"reply-thread-parent-user-id\": \"958683839\",\n\t\t\t\t\t\"reply-thread-parent-user-login\": \"an1by\",\n\t\t\t\t\t\"returning-chatter\": \"0\",\n\t\t\t\t\t\"room-id\": \"958683839\",\n\t\t\t\t\tsubscriber: \"1\",\n\t\t\t\t\t\"tmi-sent-ts\": \"1761435541217\",\n\t\t\t\t\tturbo: \"0\",\n\t\t\t\t\t\"user-id\": \"958683839\",\n\t\t\t\t\t\"user-type\": \"\",\n\t\t\t\t},\n\t\t\t\tnick: \"an1by\",\n\t\t\t\tuserId: \"958683839\",\n\t\t\t\tdisplayName: \"An1by\",\n\t\t\t\tdisplayColor: \"#DAA520\",\n\t\t\t\tbadges: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"broadcaster\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5527c58c-fb7d-422d-b71b-f309dcb85cc1/3\",\n\t\t\t\t\t\tdescription: \"Broadcaster\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"subscriber\",\n\t\t\t\t\t\tversion: \"0\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/5d9f2208-5dd8-11e7-8513-2ff4adfae661/3\",\n\t\t\t\t\t\tdescription: \"Subscriber\",\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"minecraft-15th-anniversary-celebration\",\n\t\t\t\t\t\tversion: \"1\",\n\t\t\t\t\t\turl: \"https://static-cdn.jtvnw.net/badges/v1/178077b2-8b86-4f8d-927c-66ed6c1b025f/3\",\n\t\t\t\t\t\tdescription: \"Minecraft 15th Anniversary Celebration\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tchannel: \"an1by\",\n\t\t\t\ttext: \"@An1by Replying right now akidaKrutoi\",\n\t\t\t\tisAction: false,\n\t\t\t\temotes: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"twitch\",\n\t\t\t\t\t\tname: \"akidaKrutoi\",\n\t\t\t\t\t\tid: \"emotesv2_f54e2bcddf4948808b845e37dd4e08de\",\n\t\t\t\t\t\tgif: false,\n\t\t\t\t\t\turls: {\n\t\t\t\t\t\t\t1: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\",\n\t\t\t\t\t\t\t2: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0\",\n\t\t\t\t\t\t\t4: \"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tstart: 26,\n\t\t\t\t\t\tend: 36,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tmsgId: \"bc101ec7-5663-4ee5-9580-536ed9a5804e\",\n\t\t\t},\n\t\t\trenderedText:\n\t\t\t\t'@An1by Replying right now <img src=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0\" srcset=\"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/1.0 1x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/2.0 2x, https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_f54e2bcddf4948808b845e37dd4e08de/default/dark/3.0 4x\" title=\"akidaKrutoi\" class=\"emote\">',\n\t\t},\n\t},\n};\n","/**\n * Команды, вызывающие onEventReceived с тестовыми сообщением или алертом.\n * Работают только в браузере (требуется window).\n */\nimport { testAlerts, testMessages } from \"./sources\";\n\nconst EVENT_NAME = \"onEventReceived\";\n\n/**\n * Отправляет тестовое сообщение по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testMessage(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testMessage_\")\n\t\t? key.replace(\"testMessage_\", \"\")\n\t\t: key;\n\tconst msg = testMessages[cleanKey as keyof typeof testMessages];\n\tif (msg) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: msg }));\n\t}\n}\n\n/**\n * Отправляет тестовый алерт по ключу: диспатчит CustomEvent onEventReceived.\n */\nexport function testAlert(key: string): void {\n\tif (typeof window === \"undefined\") {\n\t\treturn;\n\t}\n\tconst cleanKey = key.startsWith(\"testAlert_\")\n\t\t? key.replace(\"testAlert_\", \"\")\n\t\t: key;\n\tconst alert = testAlerts[cleanKey as keyof typeof testAlerts];\n\tif (alert) {\n\t\twindow.dispatchEvent(new CustomEvent(EVENT_NAME, { detail: alert }));\n\t}\n}\n","/**\n * Преобразование fieldId виджета в ключ тестовых данных.\n */\nexport function getTestMessageKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testMessage\")) return null;\n\tconst name = fieldId.replace(\"testMessage\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n\nexport function getTestAlertKey(fieldId: string): string | null {\n\tif (!fieldId.startsWith(\"testAlert\")) return null;\n\tconst name = fieldId.replace(\"testAlert\", \"\");\n\treturn name.charAt(0).toLowerCase() + name.slice(1);\n}\n","import type { TwitchMessage } from \"./message\";\n\nexport enum UserRole {\n\tBROADCASTER = \"broadcaster\",\n\tLEAD_MODERATOR = \"lead_moderator\",\n\tMODERATOR = \"moderator\",\n\tVIP = \"vip\",\n\tARTIST = \"artist\",\n\tFOUNDER = \"founder\",\n\tSUBSCRIBER = \"subscriber\",\n\tTURBO = \"turbo\",\n\tDEFAULT = \"default\",\n}\n\ntype UserMessageDataOptions = {\n\tbadges?: TwitchMessage.Badge[];\n\ttags?: TwitchMessage.Tags;\n};\n\nexport const TwitchUserMessageData = ({\n\tbadges = [],\n\ttags = {},\n}: UserMessageDataOptions) => {\n\tconst includesBadgeType = (type: string) => {\n\t\treturn !!badges.find((b) => b.type === type);\n\t};\n\n\tconst tagBadgesString = tags.badges ?? \"\";\n\tconst userType = tags[\"user-type\"] ?? \"\";\n\n\tconst isSubscriber =\n\t\ttagBadgesString.includes(\"subscriber/1\") ||\n\t\ttags.subscriber === \"1\" ||\n\t\tincludesBadgeType(\"subscriber\");\n\n\tconst isFounder =\n\t\ttagBadgesString.includes(\"founder/1\") || includesBadgeType(\"founder\");\n\n\tconst isBroadcaster =\n\t\ttagBadgesString.includes(\"broadcaster/1\") ||\n\t\tincludesBadgeType(\"broadcaster\");\n\n\tconst isFirstMessageChatter = tags[\"first-msg\"] === \"1\";\n\n\tconst isTurbo = tags.turbo === \"1\";\n\n\tconst isVip =\n\t\ttags.vip === \"1\" ||\n\t\ttagBadgesString.includes(\"vip/1\") ||\n\t\tincludesBadgeType(\"vip\");\n\n\tconst isLeadModerator =\n\t\ttagBadgesString.includes(\"lead_moderator/1\") ||\n\t\tincludesBadgeType(\"lead_moderator\");\n\n\tconst isModerator =\n\t\t((tags.mod === \"1\" ||\n\t\t\ttagBadgesString.includes(\"moderator/1\") ||\n\t\t\tuserType === \"mod\") &&\n\t\t\t!isLeadModerator) ||\n\t\tincludesBadgeType(\"moderator\");\n\n\tconst isAnyModerator = isModerator || isLeadModerator;\n\n\tconst isArtist =\n\t\ttagBadgesString.includes(\"artist-badge/1\") ||\n\t\tincludesBadgeType(\"artist-badge\");\n\n\tconst roles: UserRole[] = [];\n\tif (isBroadcaster) roles.push(UserRole.BROADCASTER);\n\tif (isLeadModerator) roles.push(UserRole.LEAD_MODERATOR);\n\tif (isModerator) roles.push(UserRole.MODERATOR);\n\tif (isVip) roles.push(UserRole.VIP);\n\tif (isArtist) roles.push(UserRole.ARTIST);\n\tif (isFounder) roles.push(UserRole.FOUNDER);\n\tif (isSubscriber) roles.push(UserRole.SUBSCRIBER);\n\tif (isTurbo) roles.push(UserRole.TURBO);\n\troles.push(UserRole.DEFAULT);\n\n\tconst getSubscriberMonths = (): number => {\n\t\tfor (const key of [\"badge-info\", \"badges\"]) {\n\t\t\tconst tag = tags[key] as string;\n\t\t\tif (tag) {\n\t\t\t\tconst match = tag.match(/^subscriber\\/(\\d+)$/);\n\t\t\t\tif (match) {\n\t\t\t\t\treturn parseInt(match[1], 10);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn 0;\n\t};\n\n\tconst getBadgeUrlByType = (type: string) =>\n\t\tbadges.find((b) => b.type === type)?.url;\n\n\treturn {\n\t\tisSubscriber,\n\t\tisBroadcaster,\n\t\tisFirstMessageChatter,\n\t\tisFounder,\n\t\tisTurbo,\n\t\tisVip,\n\t\tisAnyModerator,\n\t\tisModerator,\n\t\tisLeadModerator,\n\t\tisArtist,\n\t\troles,\n\t\tincludesBadgeType,\n\t\tgetSubscriberMonths,\n\t\tgetBadgeUrlByType,\n\t};\n};\n","import type { ClassifiedEvent } from \"@/root\";\nimport type { NextAlertCallback } from \".\";\n\nexport class AlertQueue {\n\tprivate readonly queue: ClassifiedEvent[] = [];\n\tpublic isShowingAlert: boolean = false;\n\tpublic onNextAlert: NextAlertCallback;\n\n\tconstructor(onNextAlert: NextAlertCallback) {\n\t\tthis.onNextAlert = onNextAlert;\n\t}\n\n\tpublic push(event: ClassifiedEvent) {\n\t\tthis.queue.push(event);\n\t}\n\n\t// DON'T FORGET SET \"this.isShowingAlert = false\" AFTER EXECUTION\n\tpublic processNextAlert() {\n\t\tif (this.queue.length === 0 || this.isShowingAlert) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst alertData = this.queue.shift();\n\t\tif (!alertData) {\n\t\t\treturn;\n\t\t}\n\t\tthis.isShowingAlert = true;\n\n\t\tthis.onNextAlert(this, alertData);\n\t}\n}\n"],"names":["parseTier","raw","tierText","num","getCacheKey","detail","listener","event","ag","aid","classifyEvent","_a","data","tierInfo","isAnon","gifted","sender","amount","username","activityGroup","firstGift","bulkGifted","name","isCommunityGift","d","AGGREGATE_TIMEOUT_MS","bufferByGroup","bufferTimers","getCacheForType","cacheSubs","type","c","emitAggregated","groupKey","merged","onNormalized","cache","flushBuffer","broadcaster","buf","purchase","subscribers","tier","totalAmount","recipients","s","firstSub","senderFromSub","normalizeIncomingEvent","options","classified","cacheKey","recipient","cg","onWidgetLoadDetail","testAlerts","testMessages","EVENT_NAME","testMessage","key","cleanKey","msg","testAlert","alert","getTestMessageKey","fieldId","getTestAlertKey","UserRole","TwitchUserMessageData","badges","tags","includesBadgeType","b","tagBadgesString","userType","isSubscriber","isFounder","isBroadcaster","isFirstMessageChatter","isTurbo","isVip","isLeadModerator","isModerator","isAnyModerator","isArtist","roles","tag","match","AlertQueue","onNextAlert","__publicField","alertData"],"mappings":"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,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAAA,IAEP;AAAA,MACC,MAAM;AAAA,MACN,WAAW;AAAA,MACX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"}
@@ -1,3 +0,0 @@
1
- export * from "./use-event-listener.js";
2
- export * from "./use-on-event-received.js";
3
- export * from "./use-on-widget-load.js";
@@ -1,20 +0,0 @@
1
- import { type DependencyList, useEffect, useRef } from "react";
2
- import type {
3
- WindowEventKey,
4
- WindowEventListener,
5
- } from "../types/window-events.js";
6
-
7
- export function useEventListener<K extends WindowEventKey>(
8
- eventName: K,
9
- handler: WindowEventListener<K>,
10
- deps: DependencyList = [],
11
- ): void {
12
- const callbackRef = useRef<WindowEventListener<K>>(handler);
13
- callbackRef.current = handler;
14
-
15
- useEffect(() => {
16
- const fn = (ev: WindowEventMap[K]) => callbackRef.current.call(window, ev);
17
- window.addEventListener(eventName, fn);
18
- return () => window.removeEventListener(eventName, fn);
19
- }, [eventName, ...deps]);
20
- }
@@ -1,108 +0,0 @@
1
- import type { DependencyList } from "react";
2
- import {
3
- isCheerDetail,
4
- isCommunityGiftPurchaseDetail,
5
- isDeleteMessageDetail,
6
- isDeleteMessagesDetail,
7
- isDonationDetail,
8
- isFollowerDetail,
9
- isRaidDetail,
10
- isSubscriberDetail,
11
- isSubscriberLatestDetail,
12
- isTwitchMessageEvent,
13
- isWidgetButtonDetail,
14
- } from "@/root/guards";
15
- import type {
16
- CheerDetail,
17
- CommunityGiftPurchaseDetail,
18
- DeleteMessageDetail,
19
- DeleteMessagesDetail,
20
- DonationDetail,
21
- FollowerDetail,
22
- MinimalEvent,
23
- RaidDetail,
24
- SubscriberDetail,
25
- SubscriberLatestDetail,
26
- TwitchMessageDetail,
27
- WidgetButtonDetail,
28
- } from "@/root/types/on-event-received";
29
- import type { WindowEventListener } from "../types/window-events";
30
- import { useEventListener } from "./use-event-listener";
31
-
32
- function useOnEvent<T extends MinimalEvent>(
33
- guard: (d: unknown) => d is T,
34
- handler: (ev: CustomEvent<T>) => void,
35
- deps: DependencyList = [],
36
- ) {
37
- useEventListener(
38
- "onEventReceived",
39
- (ev) => {
40
- if (guard(ev.detail)) handler(ev as CustomEvent<T>);
41
- },
42
- deps,
43
- );
44
- }
45
-
46
- export function useOnEventReceived(
47
- handler: WindowEventListener<"onEventReceived">,
48
- deps: DependencyList = [],
49
- ): void {
50
- useEventListener("onEventReceived", handler, deps);
51
- }
52
-
53
- export const useOnTwitchMessageReceived = (
54
- handler: (ev: CustomEvent<TwitchMessageDetail>) => void,
55
- deps?: DependencyList,
56
- ) => useOnEvent(isTwitchMessageEvent, handler, deps);
57
-
58
- export const useOnMessageReceived = useOnTwitchMessageReceived;
59
-
60
- export const useOnWidgetButtonReceived = (
61
- handler: (ev: CustomEvent<WidgetButtonDetail>) => void,
62
- deps?: DependencyList,
63
- ) => useOnEvent(isWidgetButtonDetail, handler, deps);
64
-
65
- export const useOnFollowerReceived = (
66
- handler: (ev: CustomEvent<FollowerDetail>) => void,
67
- deps?: DependencyList,
68
- ) => useOnEvent(isFollowerDetail, handler, deps);
69
-
70
- export const useOnCommunityGiftPurchaseReceived = (
71
- handler: (ev: CustomEvent<CommunityGiftPurchaseDetail>) => void,
72
- deps?: DependencyList,
73
- ) => useOnEvent(isCommunityGiftPurchaseDetail, handler, deps);
74
-
75
- export const useOnSubscriberLatestReceived = (
76
- handler: (ev: CustomEvent<SubscriberLatestDetail>) => void,
77
- deps?: DependencyList,
78
- ) => useOnEvent(isSubscriberLatestDetail, handler, deps);
79
-
80
- export const useOnSubscriberReceived = (
81
- handler: (ev: CustomEvent<SubscriberDetail>) => void,
82
- deps?: DependencyList,
83
- ) => useOnEvent(isSubscriberDetail, handler, deps);
84
-
85
- export const useOnCheerReceived = (
86
- handler: (ev: CustomEvent<CheerDetail>) => void,
87
- deps?: DependencyList,
88
- ) => useOnEvent(isCheerDetail, handler, deps);
89
-
90
- export const useOnRaidReceived = (
91
- handler: (ev: CustomEvent<RaidDetail>) => void,
92
- deps?: DependencyList,
93
- ) => useOnEvent(isRaidDetail, handler, deps);
94
-
95
- export const useOnDonationReceived = (
96
- handler: (ev: CustomEvent<DonationDetail>) => void,
97
- deps?: DependencyList,
98
- ) => useOnEvent(isDonationDetail, handler, deps);
99
-
100
- export const useOnDeleteMessage = (
101
- handler: (ev: CustomEvent<DeleteMessageDetail>) => void,
102
- deps?: DependencyList,
103
- ) => useOnEvent(isDeleteMessageDetail, handler, deps);
104
-
105
- export const useOnDeleteMessages = (
106
- handler: (ev: CustomEvent<DeleteMessagesDetail>) => void,
107
- deps?: DependencyList,
108
- ) => useOnEvent(isDeleteMessagesDetail, handler, deps);
@@ -1,15 +0,0 @@
1
- import type { DependencyList } from "react";
2
- import type { WindowEventListener } from "@/react/types/window-events.js";
3
- import type { OnWidgetLoadEventDetails } from "@/root/types/on-widget-load";
4
- import { useEventListener } from "./use-event-listener.js";
5
-
6
- export function useOnWidgetLoad<FieldData = unknown>(
7
- handler: (ev: CustomEvent<OnWidgetLoadEventDetails<FieldData>>) => void,
8
- deps: DependencyList = [],
9
- ): void {
10
- useEventListener(
11
- "onWidgetLoad",
12
- handler as WindowEventListener<"onWidgetLoad">,
13
- deps,
14
- );
15
- }
@@ -1,3 +0,0 @@
1
- export * from "../root";
2
- export * from "./hooks";
3
- export * from "./types";
@@ -1 +0,0 @@
1
- export * from "./window-events";
@@ -1,6 +0,0 @@
1
- export type WindowEventKey = keyof WindowEventMap;
2
-
3
- export type WindowEventListener<K extends WindowEventKey> = (
4
- this: Window,
5
- ev: WindowEventMap[K],
6
- ) => unknown;