Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions Moblin/StreamingPlatforms/Kick/KickPusher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,15 @@ private class KickBadges {
}
}

private struct BadgeV2: Decodable {
var image_url: String
var selected: Bool
}

private struct Identity: Decodable {
var color: String
var badges: [Badge]
var badges_v2: [BadgeV2]?
}

private struct Sender: Decodable {
Expand Down Expand Up @@ -371,6 +377,11 @@ final class KickPusher: NSObject, @unchecked Sendable {
private func handleChatMessageEvent(data: String) throws {
let event = try decodeChatMessageEvent(data: data)
var badgeUrls: [URL] = []
for badge in event.sender.identity.badges_v2 ?? [] where badge.selected {
if let badgeUrl = URL(string: badge.image_url) {
badgeUrls.append(badgeUrl)
}
}
for badge in event.sender.identity.badges {
if badge.type == BadgeType.subscriber, let months = badge.count {
if let badgeUrl = badges.getSubscriberBadgeUrl(months: months) {
Expand Down
Loading