soup-sdk 0.2.0

채팅 이벤트 수신 SDK
Documentation
use crate::chat::{
    events::{EventMeta, StickerEvent},
    parser::{
        raw::RawMessage,
        util::{normalize_user_id, parse_u32_or_default},
    },
};

pub fn parse_sticker_event(raw: RawMessage) -> StickerEvent {
    let body = raw.body;

    StickerEvent {
        meta: EventMeta {
            received_time: raw.received_time,
        },
        from: normalize_user_id(&body[2]),
        from_label: body[3].clone(),
        amount: parse_u32_or_default(&body[7]),
        supporter_ordinal: parse_u32_or_default(&body[8]),
    }
}

pub fn parse_sticker_sub_event(raw: RawMessage) -> StickerEvent {
    let body = raw.body;

    StickerEvent {
        meta: EventMeta {
            received_time: raw.received_time,
        },
        from: normalize_user_id(&body[3]),
        from_label: body[4].clone(),
        amount: parse_u32_or_default(&body[8]),
        supporter_ordinal: parse_u32_or_default(&body[9]),
    }
}