use crate::chat::{
events::{EventMeta, SubscribeEvent},
parser::{
raw::{ParseResult, RawMessage},
util::normalize_user_id,
},
};
pub fn parse_subscribe_event(raw: RawMessage) -> ParseResult<SubscribeEvent> {
Ok(SubscribeEvent {
meta: EventMeta {
received_time: raw.received_time,
},
user_id: normalize_user_id(raw.field(2)?),
label: raw.field_string(3)?,
tier: raw.parse_u32_or_default(7, 0),
renew: 0,
})
}
pub fn parse_subscribe_renew_event(raw: RawMessage) -> ParseResult<SubscribeEvent> {
Ok(SubscribeEvent {
meta: EventMeta {
received_time: raw.received_time,
},
user_id: normalize_user_id(raw.field(1)?),
label: raw.field_string(2)?,
tier: raw.parse_u32_or_default(7, 0),
renew: raw.parse_u32_or_default(3, 1),
})
}