mikufans_proto_intl/
bilibili.im.customer.model.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct BindNote {
5    ///
6    #[prost(string, tag = "1")]
7    pub content: ::prost::alloc::string::String,
8    ///
9    #[prost(string, tag = "2")]
10    pub high_color: ::prost::alloc::string::String,
11    ///
12    #[prost(string, tag = "3")]
13    pub color: ::prost::alloc::string::String,
14}
15///
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct Business {
18    ///
19    #[prost(int64, tag = "1")]
20    pub business_id: i64,
21    ///
22    #[prost(string, tag = "2")]
23    pub business_name: ::prost::alloc::string::String,
24    ///
25    #[prost(enumeration = "Select", tag = "3")]
26    pub select: i32,
27}
28///
29#[derive(Clone, PartialEq, ::prost::Message)]
30pub struct ComplianceDescribe {
31    ///
32    #[prost(string, tag = "1")]
33    pub text: ::prost::alloc::string::String,
34    ///
35    #[prost(bool, tag = "2")]
36    pub is_link: bool,
37    ///
38    #[prost(string, tag = "3")]
39    pub link: ::prost::alloc::string::String,
40}
41///
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct ComplianceModel {
44    ///
45    #[prost(enumeration = "ComplianceAlertType", tag = "1")]
46    pub pop_field: i32,
47    ///
48    #[prost(string, tag = "2")]
49    pub title: ::prost::alloc::string::String,
50    ///
51    #[prost(message, repeated, tag = "3")]
52    pub describes: ::prost::alloc::vec::Vec<ComplianceDescribe>,
53    ///
54    #[prost(string, tag = "4")]
55    pub confirm_text: ::prost::alloc::string::String,
56    ///
57    #[prost(string, tag = "5")]
58    pub cancel_text: ::prost::alloc::string::String,
59}
60///
61#[derive(Clone, PartialEq, ::prost::Message)]
62pub struct CustomerInfo {
63    ///
64    #[prost(int64, tag = "1")]
65    pub customer_id: i64,
66    ///
67    #[prost(string, tag = "2")]
68    pub customer_name: ::prost::alloc::string::String,
69    ///
70    #[prost(enumeration = "CustomerRankStatus", tag = "3")]
71    pub customer_state: i32,
72    ///
73    #[prost(int64, tag = "4")]
74    pub queue_rank: i64,
75    ///
76    #[prost(int32, tag = "5")]
77    pub is_cancel: i32,
78    ///
79    #[prost(message, optional, tag = "6")]
80    pub pre_customer: ::core::option::Option<MsgSpLitAnsCustomer>,
81    ///
82    #[prost(string, tag = "7")]
83    pub customer_state_desc: ::prost::alloc::string::String,
84}
85///
86#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct EmotionInfo {
88    ///
89    #[prost(string, tag = "1")]
90    pub text: ::prost::alloc::string::String,
91    ///
92    #[prost(string, tag = "2")]
93    pub url: ::prost::alloc::string::String,
94    ///
95    #[prost(int32, tag = "3")]
96    pub size: i32,
97    ///
98    #[prost(string, tag = "4")]
99    pub gif_url: ::prost::alloc::string::String,
100}
101///
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct EvaluationShowInfo {
104    ///
105    #[prost(bool, tag = "1")]
106    pub show: bool,
107    ///
108    #[prost(enumeration = "EvaluateType", tag = "2")]
109    pub r#type: i32,
110    ///
111    #[prost(message, repeated, tag = "3")]
112    pub step_select: ::prost::alloc::vec::Vec<EvaluationStepSelect>,
113    ///
114    #[prost(int64, tag = "4")]
115    pub msg_key: i64,
116    ///
117    #[prost(bool, tag = "5")]
118    pub up: bool,
119    ///
120    #[prost(string, tag = "6")]
121    pub feedback: ::prost::alloc::string::String,
122    ///
123    #[prost(int64, tag = "7")]
124    pub customer_sess_id: i64,
125    ///
126    #[prost(bool, tag = "8")]
127    pub done: bool,
128    ///
129    #[prost(string, tag = "9")]
130    pub editor_input: ::prost::alloc::string::String,
131    ///
132    #[prost(int64, tag = "10")]
133    pub step_msg_key: i64,
134    ///
135    #[prost(int64, tag = "11")]
136    pub machine_sess_id: i64,
137}
138///
139#[derive(Clone, PartialEq, ::prost::Message)]
140pub struct EvaluationStepSelect {
141    ///
142    #[prost(string, tag = "1")]
143    pub text: ::prost::alloc::string::String,
144    ///
145    #[prost(enumeration = "Select", tag = "2")]
146    pub select: i32,
147}
148///
149#[derive(Clone, PartialEq, ::prost::Message)]
150pub struct Group {
151    ///
152    #[prost(int64, tag = "1")]
153    pub group_id: i64,
154    ///
155    #[prost(string, tag = "2")]
156    pub group_name: ::prost::alloc::string::String,
157    ///
158    #[prost(enumeration = "Select", tag = "3")]
159    pub select: i32,
160}
161///
162#[derive(Clone, PartialEq, ::prost::Message)]
163pub struct Msg {
164    ///
165    #[prost(message, optional, tag = "1")]
166    pub sender_info: ::core::option::Option<TalkerInfo>,
167    ///
168    #[prost(message, optional, tag = "2")]
169    pub receiver_info: ::core::option::Option<TalkerInfo>,
170    ///
171    #[prost(enumeration = "MsgType", tag = "3")]
172    pub msg_type: i32,
173    ///
174    #[prost(string, tag = "4")]
175    pub content: ::prost::alloc::string::String,
176    ///
177    #[prost(int64, tag = "5")]
178    pub timestamp: i64,
179    ///
180    #[prost(int64, tag = "6")]
181    pub msg_key: i64,
182    ///
183    #[prost(int32, tag = "7")]
184    pub msg_status: i32,
185    ///
186    #[prost(enumeration = "MsgSource", tag = "8")]
187    pub msg_source: i32,
188    ///
189    #[prost(string, tag = "9")]
190    pub dev_id: ::prost::alloc::string::String,
191    ///
192    #[prost(int64, tag = "10")]
193    pub seq_no: i64,
194    ///
195    #[prost(int32, tag = "11")]
196    pub situation: i32,
197    ///
198    #[prost(message, optional, tag = "12")]
199    pub bind_note: ::core::option::Option<BindNote>,
200    ///
201    #[prost(bool, tag = "13")]
202    pub is_ai: bool,
203    ///
204    #[prost(int64, repeated, tag = "14")]
205    pub ai_link_msg: ::prost::alloc::vec::Vec<i64>,
206}
207///
208#[derive(Clone, PartialEq, ::prost::Message)]
209pub struct MsgSpLitA {
210    ///
211    #[prost(enumeration = "SplitAnsMsgContentType", tag = "1")]
212    pub r#type: i32,
213    ///
214    #[prost(message, repeated, tag = "2")]
215    pub business_list: ::prost::alloc::vec::Vec<Business>,
216    ///
217    #[prost(message, repeated, tag = "3")]
218    pub group_list: ::prost::alloc::vec::Vec<Group>,
219    ///
220    #[prost(message, optional, tag = "4")]
221    pub customer_info: ::core::option::Option<CustomerInfo>,
222}
223///
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct MsgSpLitAnsCustomer {
226    ///
227    #[prost(int64, tag = "1")]
228    pub customer_id: i64,
229    ///
230    #[prost(string, tag = "2")]
231    pub customer_name: ::prost::alloc::string::String,
232}
233///
234#[derive(Clone, PartialEq, ::prost::Message)]
235pub struct SessionInfo {
236    ///
237    #[prost(message, optional, tag = "1")]
238    pub talker_info: ::core::option::Option<TalkerInfo>,
239    ///
240    #[prost(message, optional, tag = "2")]
241    pub last_msg: ::core::option::Option<Msg>,
242    ///
243    #[prost(message, optional, tag = "3")]
244    pub unread_info: ::core::option::Option<UnreadInfo>,
245    ///
246    #[prost(int64, tag = "4")]
247    pub ack_seqno: i64,
248    ///
249    #[prost(int64, tag = "5")]
250    pub ack_ts: i64,
251    ///
252    #[prost(int64, tag = "6")]
253    pub session_ts: i64,
254    ///
255    #[prost(int64, tag = "7")]
256    pub max_seqno: i64,
257    ///
258    #[prost(int32, tag = "8")]
259    pub status: i32,
260    ///
261    #[prost(string, tag = "9")]
262    pub tag_icon: ::prost::alloc::string::String,
263    ///
264    #[prost(int32, tag = "10")]
265    pub top_set: i32,
266    ///
267    #[prost(string, tag = "11")]
268    pub jump_url: ::prost::alloc::string::String,
269    ///
270    #[prost(bool, tag = "12")]
271    pub do_not_disturb: bool,
272    ///
273    #[prost(string, tag = "13")]
274    pub setting_page_schema: ::prost::alloc::string::String,
275    ///
276    #[prost(string, tag = "14")]
277    pub setting_page_url: ::prost::alloc::string::String,
278    ///
279    #[prost(string, tag = "15")]
280    pub tag_name: ::prost::alloc::string::String,
281    ///
282    #[prost(message, optional, tag = "16")]
283    pub compliance: ::core::option::Option<ComplianceModel>,
284    ///
285    #[prost(bool, tag = "17")]
286    pub is_hide_edit: bool,
287}
288///
289#[derive(Clone, PartialEq, ::prost::Message)]
290pub struct TalkerInfo {
291    ///
292    #[prost(enumeration = "TalkerType", tag = "1")]
293    pub r#type: i32,
294    ///
295    #[prost(int64, tag = "2")]
296    pub shop_father_id: i64,
297    ///
298    #[prost(int64, tag = "3")]
299    pub shop_id: i64,
300    ///
301    #[prost(int64, tag = "4")]
302    pub customer_id: i64,
303    ///
304    #[prost(int64, tag = "5")]
305    pub machine_session_id: i64,
306    ///
307    #[prost(string, tag = "6")]
308    pub customer_session_id: ::prost::alloc::string::String,
309    ///
310    #[prost(int64, tag = "7")]
311    pub uid: i64,
312    ///
313    #[prost(string, tag = "8")]
314    pub name: ::prost::alloc::string::String,
315    ///
316    #[prost(string, tag = "9")]
317    pub pic_url: ::prost::alloc::string::String,
318    ///
319    #[prost(string, repeated, tag = "10")]
320    pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
321}
322///
323#[derive(Clone, Copy, PartialEq, ::prost::Message)]
324pub struct UnreadInfo {
325    ///
326    #[prost(int64, tag = "1")]
327    pub unread_count: i64,
328    ///
329    #[prost(int64, tag = "2")]
330    pub customer_unread_count: i64,
331    ///
332    #[prost(int64, tag = "3")]
333    pub machine_unread_count: i64,
334    ///
335    #[prost(int64, tag = "4")]
336    pub message_unread_count: i64,
337    ///
338    #[prost(int64, tag = "5")]
339    pub notice_unread_count: i64,
340}
341///
342#[derive(Clone, PartialEq, ::prost::Message)]
343pub struct WindowOptionEvaluation {
344    ///
345    #[prost(string, tag = "1")]
346    pub icon: ::prost::alloc::string::String,
347    ///
348    #[prost(string, tag = "2")]
349    pub name: ::prost::alloc::string::String,
350    ///
351    #[prost(string, tag = "3")]
352    pub jump_url: ::prost::alloc::string::String,
353    ///
354    #[prost(string, tag = "4")]
355    pub title: ::prost::alloc::string::String,
356    ///
357    #[prost(int64, tag = "5")]
358    pub im_stat: i64,
359}
360///
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct WindowOptionGoods {
363    ///
364    #[prost(string, tag = "1")]
365    pub icon: ::prost::alloc::string::String,
366    ///
367    #[prost(string, tag = "2")]
368    pub name: ::prost::alloc::string::String,
369    ///
370    #[prost(string, tag = "3")]
371    pub jump_url: ::prost::alloc::string::String,
372    ///
373    #[prost(string, tag = "4")]
374    pub title: ::prost::alloc::string::String,
375}
376///
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct WindowOptionHistory {
379    ///
380    #[prost(string, tag = "1")]
381    pub icon: ::prost::alloc::string::String,
382    ///
383    #[prost(string, tag = "2")]
384    pub name: ::prost::alloc::string::String,
385    ///
386    #[prost(string, tag = "3")]
387    pub jump_url: ::prost::alloc::string::String,
388    ///
389    #[prost(string, tag = "4")]
390    pub title: ::prost::alloc::string::String,
391}
392///
393#[derive(Clone, PartialEq, ::prost::Message)]
394pub struct WindowOptionMessage {
395    ///
396    #[prost(string, tag = "1")]
397    pub icon: ::prost::alloc::string::String,
398    ///
399    #[prost(string, tag = "2")]
400    pub name: ::prost::alloc::string::String,
401    ///
402    #[prost(string, tag = "3")]
403    pub jump_url: ::prost::alloc::string::String,
404    ///
405    #[prost(string, tag = "4")]
406    pub title: ::prost::alloc::string::String,
407    ///
408    #[prost(string, tag = "5")]
409    pub sub_title: ::prost::alloc::string::String,
410    ///
411    #[prost(bool, tag = "6")]
412    pub is_new_ticket: bool,
413    ///
414    #[prost(string, tag = "7")]
415    pub new_ticket_jump_url: ::prost::alloc::string::String,
416}
417///
418#[derive(Clone, PartialEq, ::prost::Message)]
419pub struct WindowOptionOrder {
420    ///
421    #[prost(string, tag = "1")]
422    pub icon: ::prost::alloc::string::String,
423    ///
424    #[prost(string, tag = "2")]
425    pub name: ::prost::alloc::string::String,
426    ///
427    #[prost(string, tag = "3")]
428    pub jump_url: ::prost::alloc::string::String,
429    ///
430    #[prost(string, tag = "4")]
431    pub title: ::prost::alloc::string::String,
432}
433///
434#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
435#[repr(i32)]
436pub enum ComplianceAlertType {
437    ///
438    None = 0,
439    ///
440    AiModel = 1,
441}
442impl ComplianceAlertType {
443    /// String value of the enum field names used in the ProtoBuf definition.
444    ///
445    /// The values are not transformed in any way and thus are considered stable
446    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
447    pub fn as_str_name(&self) -> &'static str {
448        match self {
449            Self::None => "None",
450            Self::AiModel => "AIModel",
451        }
452    }
453    /// Creates an enum from field names used in the ProtoBuf definition.
454    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
455        match value {
456            "None" => Some(Self::None),
457            "AIModel" => Some(Self::AiModel),
458            _ => None,
459        }
460    }
461}
462///
463#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
464#[repr(i32)]
465pub enum CustomerRankStatus {
466    ///
467    Offline = 0,
468    ///
469    Crowd = 1,
470    ///
471    Online = 2,
472    ///
473    SwitchOnline = 3,
474    ///
475    Ranking = 4,
476    ///
477    SwitchRanking = 5,
478    ///
479    OutCustomerQueue = 6,
480    ///
481    OutCustomerQueueWithMessage = 7,
482    ///
483    OutWork = 8,
484    ///
485    CustomerInvite = 9,
486    ///
487    WorkBatchStopRank = 10,
488    ///
489    ForceSwitchCustomer = 11,
490    ///
491    RankingOnly = 12,
492    ///
493    NoCustomerOnly = 13,
494    ///
495    OfflineProcess = 14,
496}
497impl CustomerRankStatus {
498    /// String value of the enum field names used in the ProtoBuf definition.
499    ///
500    /// The values are not transformed in any way and thus are considered stable
501    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
502    pub fn as_str_name(&self) -> &'static str {
503        match self {
504            Self::Offline => "OFFLINE",
505            Self::Crowd => "CROWD",
506            Self::Online => "ONLINE",
507            Self::SwitchOnline => "SWITCH_ONLINE",
508            Self::Ranking => "RANKING",
509            Self::SwitchRanking => "SWITCH_RANKING",
510            Self::OutCustomerQueue => "OUT_CUSTOMER_QUEUE",
511            Self::OutCustomerQueueWithMessage => "OUT_CUSTOMER_QUEUE_WITH_MESSAGE",
512            Self::OutWork => "OUT_WORK",
513            Self::CustomerInvite => "CUSTOMER_INVITE",
514            Self::WorkBatchStopRank => "WORK_BATCH_STOP_RANK",
515            Self::ForceSwitchCustomer => "FORCE_SWITCH_CUSTOMER",
516            Self::RankingOnly => "RANKING_ONLY",
517            Self::NoCustomerOnly => "NO_CUSTOMER_ONLY",
518            Self::OfflineProcess => "OFFLINE_PROCESS",
519        }
520    }
521    /// Creates an enum from field names used in the ProtoBuf definition.
522    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
523        match value {
524            "OFFLINE" => Some(Self::Offline),
525            "CROWD" => Some(Self::Crowd),
526            "ONLINE" => Some(Self::Online),
527            "SWITCH_ONLINE" => Some(Self::SwitchOnline),
528            "RANKING" => Some(Self::Ranking),
529            "SWITCH_RANKING" => Some(Self::SwitchRanking),
530            "OUT_CUSTOMER_QUEUE" => Some(Self::OutCustomerQueue),
531            "OUT_CUSTOMER_QUEUE_WITH_MESSAGE" => Some(Self::OutCustomerQueueWithMessage),
532            "OUT_WORK" => Some(Self::OutWork),
533            "CUSTOMER_INVITE" => Some(Self::CustomerInvite),
534            "WORK_BATCH_STOP_RANK" => Some(Self::WorkBatchStopRank),
535            "FORCE_SWITCH_CUSTOMER" => Some(Self::ForceSwitchCustomer),
536            "RANKING_ONLY" => Some(Self::RankingOnly),
537            "NO_CUSTOMER_ONLY" => Some(Self::NoCustomerOnly),
538            "OFFLINE_PROCESS" => Some(Self::OfflineProcess),
539            _ => None,
540        }
541    }
542}
543///
544#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
545#[repr(i32)]
546pub enum EvaluateType {
547    ///
548    EvaluateMachineMsg = 0,
549    ///
550    EvaluateCustomer = 1,
551    ///
552    EvaluateCustomerInvited = 2,
553    ///
554    EvaluatePanelMsg = 3,
555    ///
556    EvaluateMachineSess = 4,
557    ///
558    EvaluateMachineSessInvited = 5,
559}
560impl EvaluateType {
561    /// String value of the enum field names used in the ProtoBuf definition.
562    ///
563    /// The values are not transformed in any way and thus are considered stable
564    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
565    pub fn as_str_name(&self) -> &'static str {
566        match self {
567            Self::EvaluateMachineMsg => "EvaluateMachineMsg",
568            Self::EvaluateCustomer => "EvaluateCustomer",
569            Self::EvaluateCustomerInvited => "EvaluateCustomerInvited",
570            Self::EvaluatePanelMsg => "EvaluatePanelMsg",
571            Self::EvaluateMachineSess => "EvaluateMachineSess",
572            Self::EvaluateMachineSessInvited => "EvaluateMachineSessInvited",
573        }
574    }
575    /// Creates an enum from field names used in the ProtoBuf definition.
576    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
577        match value {
578            "EvaluateMachineMsg" => Some(Self::EvaluateMachineMsg),
579            "EvaluateCustomer" => Some(Self::EvaluateCustomer),
580            "EvaluateCustomerInvited" => Some(Self::EvaluateCustomerInvited),
581            "EvaluatePanelMsg" => Some(Self::EvaluatePanelMsg),
582            "EvaluateMachineSess" => Some(Self::EvaluateMachineSess),
583            "EvaluateMachineSessInvited" => Some(Self::EvaluateMachineSessInvited),
584            _ => None,
585        }
586    }
587}
588///
589#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
590#[repr(i32)]
591pub enum MsgSource {
592    ///
593    Invalid = 0,
594    ///
595    Ios = 1,
596    ///
597    Android = 2,
598    ///
599    Ipad = 3,
600    ///
601    AndroidHd = 4,
602    ///
603    PcApp = 5,
604    ///
605    Web = 6,
606    ///
607    Biz = 7,
608    ///
609    ThirdShopStage = 8,
610    ///
611    Ai = 9,
612}
613impl MsgSource {
614    /// String value of the enum field names used in the ProtoBuf definition.
615    ///
616    /// The values are not transformed in any way and thus are considered stable
617    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
618    pub fn as_str_name(&self) -> &'static str {
619        match self {
620            Self::Invalid => "INVALID",
621            Self::Ios => "IOS",
622            Self::Android => "ANDROID",
623            Self::Ipad => "IPAD",
624            Self::AndroidHd => "ANDROID_HD",
625            Self::PcApp => "PC_APP",
626            Self::Web => "WEB",
627            Self::Biz => "Biz",
628            Self::ThirdShopStage => "ThirdShopStage",
629            Self::Ai => "AI",
630        }
631    }
632    /// Creates an enum from field names used in the ProtoBuf definition.
633    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
634        match value {
635            "INVALID" => Some(Self::Invalid),
636            "IOS" => Some(Self::Ios),
637            "ANDROID" => Some(Self::Android),
638            "IPAD" => Some(Self::Ipad),
639            "ANDROID_HD" => Some(Self::AndroidHd),
640            "PC_APP" => Some(Self::PcApp),
641            "WEB" => Some(Self::Web),
642            "Biz" => Some(Self::Biz),
643            "ThirdShopStage" => Some(Self::ThirdShopStage),
644            "AI" => Some(Self::Ai),
645            _ => None,
646        }
647    }
648}
649///
650#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
651#[repr(i32)]
652pub enum MsgType {
653    ///
654    Invalid = 0,
655    ///
656    Text = 1,
657    ///
658    Img = 2,
659    ///
660    Withdraw = 5,
661    ///
662    FavEmoji = 6,
663    ///
664    Share = 7,
665    ///
666    Video = 17,
667    ///
668    Order = 10001,
669    ///
670    Goods = 10002,
671    ///
672    Evaluation = 10003,
673    ///
674    Message = 10004,
675    ///
676    MachineA = 10005,
677    ///
678    MachineQ = 10006,
679    ///
680    CustomerCome = 10007,
681    ///
682    MachineWelcomeText = 10008,
683    ///
684    MachineWelcomeQlist = 10009,
685    ///
686    SplitQ = 10010,
687    ///
688    SplitA = 10011,
689    ///
690    SwitchCustomer = 10012,
691    ///
692    CustomerInviteEvaluation = 10013,
693    ///
694    OutCustomerQueue = 10014,
695    ///
696    OutCustomerSess = 10015,
697    ///
698    MessageGuide = 10016,
699    ///
700    ForceSwitchCustomer = 10017,
701    ///
702    CustomerInitiativeMsg = 10018,
703    ///
704    SysNote = 10019,
705    ///
706    MachineSessEvaluation = 10020,
707    ///
708    ParagraphText = 10021,
709    ///
710    BusinessLink = 10022,
711    ///
712    SysBar = 10023,
713}
714impl MsgType {
715    /// String value of the enum field names used in the ProtoBuf definition.
716    ///
717    /// The values are not transformed in any way and thus are considered stable
718    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
719    pub fn as_str_name(&self) -> &'static str {
720        match self {
721            Self::Invalid => "MSG_TYPE_INVALID",
722            Self::Text => "MSG_TYPE_TEXT",
723            Self::Img => "MSG_TYPE_IMG",
724            Self::Withdraw => "MSG_TYPE_WITHDRAW",
725            Self::FavEmoji => "MSG_TYPE_FAV_EMOJI",
726            Self::Share => "MSG_TYPE_SHARE",
727            Self::Video => "MSG_TYPE_VIDEO",
728            Self::Order => "MSG_TYPE_ORDER",
729            Self::Goods => "MSG_TYPE_GOODS",
730            Self::Evaluation => "MSG_TYPE_EVALUATION",
731            Self::Message => "MSG_TYPE_MESSAGE",
732            Self::MachineA => "MSG_TYPE_MACHINE_A",
733            Self::MachineQ => "MSG_TYPE_MACHINE_Q",
734            Self::CustomerCome => "MSG_TYPE_CUSTOMER_COME",
735            Self::MachineWelcomeText => "MSG_TYPE_MACHINE_WELCOME_TEXT",
736            Self::MachineWelcomeQlist => "MSG_TYPE_MACHINE_WELCOME_QLIST",
737            Self::SplitQ => "MSG_TYPE_SPLIT_Q",
738            Self::SplitA => "MSG_TYPE_SPLIT_A",
739            Self::SwitchCustomer => "MSG_TYPE_SWITCH_CUSTOMER",
740            Self::CustomerInviteEvaluation => "MSG_TYPE_CUSTOMER_INVITE_EVALUATION",
741            Self::OutCustomerQueue => "MSG_TYPE_OUT_CUSTOMER_QUEUE",
742            Self::OutCustomerSess => "MSG_TYPE_OUT_CUSTOMER_SESS",
743            Self::MessageGuide => "MSG_TYPE_MESSAGE_GUIDE",
744            Self::ForceSwitchCustomer => "MSG_TYPE_FORCE_SWITCH_CUSTOMER",
745            Self::CustomerInitiativeMsg => "MSG_TYPE_CUSTOMER_INITIATIVE_MSG",
746            Self::SysNote => "MSG_TYPE_SYS_NOTE",
747            Self::MachineSessEvaluation => "MSG_TYPE_MACHINE_SESS_EVALUATION",
748            Self::ParagraphText => "MSG_TYPE_PARAGRAPH_TEXT",
749            Self::BusinessLink => "MSG_TYPE_BUSINESS_LINK",
750            Self::SysBar => "MSG_TYPE_SYS_BAR",
751        }
752    }
753    /// Creates an enum from field names used in the ProtoBuf definition.
754    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
755        match value {
756            "MSG_TYPE_INVALID" => Some(Self::Invalid),
757            "MSG_TYPE_TEXT" => Some(Self::Text),
758            "MSG_TYPE_IMG" => Some(Self::Img),
759            "MSG_TYPE_WITHDRAW" => Some(Self::Withdraw),
760            "MSG_TYPE_FAV_EMOJI" => Some(Self::FavEmoji),
761            "MSG_TYPE_SHARE" => Some(Self::Share),
762            "MSG_TYPE_VIDEO" => Some(Self::Video),
763            "MSG_TYPE_ORDER" => Some(Self::Order),
764            "MSG_TYPE_GOODS" => Some(Self::Goods),
765            "MSG_TYPE_EVALUATION" => Some(Self::Evaluation),
766            "MSG_TYPE_MESSAGE" => Some(Self::Message),
767            "MSG_TYPE_MACHINE_A" => Some(Self::MachineA),
768            "MSG_TYPE_MACHINE_Q" => Some(Self::MachineQ),
769            "MSG_TYPE_CUSTOMER_COME" => Some(Self::CustomerCome),
770            "MSG_TYPE_MACHINE_WELCOME_TEXT" => Some(Self::MachineWelcomeText),
771            "MSG_TYPE_MACHINE_WELCOME_QLIST" => Some(Self::MachineWelcomeQlist),
772            "MSG_TYPE_SPLIT_Q" => Some(Self::SplitQ),
773            "MSG_TYPE_SPLIT_A" => Some(Self::SplitA),
774            "MSG_TYPE_SWITCH_CUSTOMER" => Some(Self::SwitchCustomer),
775            "MSG_TYPE_CUSTOMER_INVITE_EVALUATION" => Some(Self::CustomerInviteEvaluation),
776            "MSG_TYPE_OUT_CUSTOMER_QUEUE" => Some(Self::OutCustomerQueue),
777            "MSG_TYPE_OUT_CUSTOMER_SESS" => Some(Self::OutCustomerSess),
778            "MSG_TYPE_MESSAGE_GUIDE" => Some(Self::MessageGuide),
779            "MSG_TYPE_FORCE_SWITCH_CUSTOMER" => Some(Self::ForceSwitchCustomer),
780            "MSG_TYPE_CUSTOMER_INITIATIVE_MSG" => Some(Self::CustomerInitiativeMsg),
781            "MSG_TYPE_SYS_NOTE" => Some(Self::SysNote),
782            "MSG_TYPE_MACHINE_SESS_EVALUATION" => Some(Self::MachineSessEvaluation),
783            "MSG_TYPE_PARAGRAPH_TEXT" => Some(Self::ParagraphText),
784            "MSG_TYPE_BUSINESS_LINK" => Some(Self::BusinessLink),
785            "MSG_TYPE_SYS_BAR" => Some(Self::SysBar),
786            _ => None,
787        }
788    }
789}
790///
791#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
792#[repr(i32)]
793pub enum NotifyMsgType {
794    ///
795    UnUsable = 0,
796    ///
797    RankUpdate = 400,
798    ///
799    MsgTalk = 401,
800    ///
801    SubmitWorkOrderDraft = 402,
802}
803impl NotifyMsgType {
804    /// String value of the enum field names used in the ProtoBuf definition.
805    ///
806    /// The values are not transformed in any way and thus are considered stable
807    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
808    pub fn as_str_name(&self) -> &'static str {
809        match self {
810            Self::UnUsable => "UN_USABLE",
811            Self::RankUpdate => "RANK_UPDATE",
812            Self::MsgTalk => "MSG_TALK",
813            Self::SubmitWorkOrderDraft => "SUBMIT_WORK_ORDER_DRAFT",
814        }
815    }
816    /// Creates an enum from field names used in the ProtoBuf definition.
817    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
818        match value {
819            "UN_USABLE" => Some(Self::UnUsable),
820            "RANK_UPDATE" => Some(Self::RankUpdate),
821            "MSG_TALK" => Some(Self::MsgTalk),
822            "SUBMIT_WORK_ORDER_DRAFT" => Some(Self::SubmitWorkOrderDraft),
823            _ => None,
824        }
825    }
826}
827///
828#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
829#[repr(i32)]
830pub enum Select {
831    ///
832    Able = 0,
833    ///
834    Selected = 1,
835    ///
836    Unable = 2,
837}
838impl Select {
839    /// String value of the enum field names used in the ProtoBuf definition.
840    ///
841    /// The values are not transformed in any way and thus are considered stable
842    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
843    pub fn as_str_name(&self) -> &'static str {
844        match self {
845            Self::Able => "ABLE",
846            Self::Selected => "SELECTED",
847            Self::Unable => "UNABLE",
848        }
849    }
850    /// Creates an enum from field names used in the ProtoBuf definition.
851    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
852        match value {
853            "ABLE" => Some(Self::Able),
854            "SELECTED" => Some(Self::Selected),
855            "UNABLE" => Some(Self::Unable),
856            _ => None,
857        }
858    }
859}
860///
861#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
862#[repr(i32)]
863pub enum Situation {
864    ///
865    Invalid = 0,
866    ///
867    Im = 1,
868    ///
869    ServiceCenter = 2,
870    ///
871    Order = 3,
872    ///
873    Push = 4,
874    ///
875    Goods = 5,
876    ///
877    VipMall = 6,
878    ///
879    Else = 7,
880    ///
881    Live = 8,
882    ///
883    Space = 9,
884}
885impl Situation {
886    /// String value of the enum field names used in the ProtoBuf definition.
887    ///
888    /// The values are not transformed in any way and thus are considered stable
889    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
890    pub fn as_str_name(&self) -> &'static str {
891        match self {
892            Self::Invalid => "Invalid",
893            Self::Im => "IM",
894            Self::ServiceCenter => "ServiceCenter",
895            Self::Order => "Order",
896            Self::Push => "Push",
897            Self::Goods => "Goods",
898            Self::VipMall => "VipMall",
899            Self::Else => "Else",
900            Self::Live => "Live",
901            Self::Space => "Space",
902        }
903    }
904    /// Creates an enum from field names used in the ProtoBuf definition.
905    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
906        match value {
907            "Invalid" => Some(Self::Invalid),
908            "IM" => Some(Self::Im),
909            "ServiceCenter" => Some(Self::ServiceCenter),
910            "Order" => Some(Self::Order),
911            "Push" => Some(Self::Push),
912            "Goods" => Some(Self::Goods),
913            "VipMall" => Some(Self::VipMall),
914            "Else" => Some(Self::Else),
915            "Live" => Some(Self::Live),
916            "Space" => Some(Self::Space),
917            _ => None,
918        }
919    }
920}
921///
922#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
923#[repr(i32)]
924pub enum SplitAnsMsgContentType {
925    ///
926    Business = 0,
927    ///
928    Group = 1,
929    ///
930    Custom = 2,
931}
932impl SplitAnsMsgContentType {
933    /// String value of the enum field names used in the ProtoBuf definition.
934    ///
935    /// The values are not transformed in any way and thus are considered stable
936    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
937    pub fn as_str_name(&self) -> &'static str {
938        match self {
939            Self::Business => "BUSINESS",
940            Self::Group => "GROUP",
941            Self::Custom => "CUSTOM",
942        }
943    }
944    /// Creates an enum from field names used in the ProtoBuf definition.
945    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
946        match value {
947            "BUSINESS" => Some(Self::Business),
948            "GROUP" => Some(Self::Group),
949            "CUSTOM" => Some(Self::Custom),
950            _ => None,
951        }
952    }
953}
954///
955#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
956#[repr(i32)]
957pub enum TalkerType {
958    ///
959    Machine = 0,
960    ///
961    Customer = 1,
962    ///
963    SysNotice = 2,
964    ///
965    User = 3,
966}
967impl TalkerType {
968    /// String value of the enum field names used in the ProtoBuf definition.
969    ///
970    /// The values are not transformed in any way and thus are considered stable
971    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
972    pub fn as_str_name(&self) -> &'static str {
973        match self {
974            Self::Machine => "MACHINE",
975            Self::Customer => "CUSTOMER",
976            Self::SysNotice => "SYS_NOTICE",
977            Self::User => "USER",
978        }
979    }
980    /// Creates an enum from field names used in the ProtoBuf definition.
981    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
982        match value {
983            "MACHINE" => Some(Self::Machine),
984            "CUSTOMER" => Some(Self::Customer),
985            "SYS_NOTICE" => Some(Self::SysNotice),
986            "USER" => Some(Self::User),
987            _ => None,
988        }
989    }
990}