Skip to main content

soup_sdk/chat/
types.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Clone, Deserialize)]
4pub struct UserSubscribe {
5    pub acc: u32,
6    pub current: u32,
7}
8
9#[derive(Debug, Serialize, Clone, Deserialize)]
10#[serde(rename_all = "camelCase")]
11pub struct UserStatus {
12    /// 0=비구독자, 1=구독, 2=구독+
13    pub follow_level: u8,
14    /// 0=팬 아님, 1=팬, 2=열혈팬
15    pub fan_level: u8,
16    pub is_bj: bool,
17    pub is_manager: bool,
18    pub is_supporter: bool,
19}
20
21#[derive(Debug, Serialize, Clone, Deserialize)]
22pub struct User {
23    pub id: String,
24    pub label: String,
25    // 사용자 상태
26    pub status: UserStatus,
27    // 구독
28    pub subscribe: Option<UserSubscribe>,
29}
30
31#[derive(Debug, Serialize, Clone, Deserialize)]
32pub enum ChatType {
33    Manager,
34    Common,
35    Emoticon,
36}
37
38#[derive(Debug, Serialize, Clone, Deserialize)]
39pub struct Emoticon {
40    pub id: String,
41    pub number: String,
42    pub ext: String,
43    pub version: String,
44}
45
46#[derive(Debug, Serialize, Clone, Deserialize)]
47pub enum DonationType {
48    Balloon,
49    ADBalloon,
50    VODBalloon,
51}
52
53/**
54 * 구독, 퀵뷰, OGQ 선물 종류
55 */
56#[derive(Debug, Serialize, Clone, Deserialize)]
57pub enum GiftType {
58    Subscription,
59    OGQ,
60    QuickView,
61}
62
63#[derive(Debug, Serialize, Clone, Deserialize)]
64pub enum MissionType {
65    Battle,
66    Challenge,
67}
68
69#[derive(Debug, Serialize, Clone, Deserialize)]
70pub enum MissionParser {
71    Mission,
72    MissionTotal,
73    BattleNotice,
74    ChallengeNotice,
75}