soup-sdk 0.3.3

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

pub fn parse_sticker_event(raw: RawMessage) -> ParseResult<StickerEvent> {
    Ok(StickerEvent {
        meta: EventMeta {
            received_time: raw.received_time,
        },
        from: normalize_user_id(raw.field(2)?),
        from_label: raw.field_string(3)?,
        amount: raw.parse_u32_or_default(7, 0),
        supporter_ordinal: raw.parse_u32_or_default(8, 0),
    })
}

pub fn parse_sticker_sub_event(raw: RawMessage) -> ParseResult<StickerEvent> {
    Ok(StickerEvent {
        meta: EventMeta {
            received_time: raw.received_time,
        },
        from: normalize_user_id(raw.field(3)?),
        from_label: raw.field_string(4)?,
        amount: raw.parse_u32_or_default(8, 0),
        supporter_ordinal: raw.parse_u32_or_default(9, 0),
    })
}