mikufans_proto_intl/
bilibili.community.interfacess.biligram.v1.rs

1// This file is @generated by prost-build.
2///
3#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct ActionButton {
5    ///
6    #[prost(string, tag = "1")]
7    pub text: ::prost::alloc::string::String,
8    ///
9    #[prost(string, tag = "2")]
10    pub icon: ::prost::alloc::string::String,
11}
12///
13#[derive(Clone, PartialEq, ::prost::Message)]
14pub struct Button {
15    ///
16    #[prost(string, tag = "1")]
17    pub text: ::prost::alloc::string::String,
18    ///
19    #[prost(string, tag = "2")]
20    pub url: ::prost::alloc::string::String,
21    ///
22    #[prost(string, tag = "3")]
23    pub icon: ::prost::alloc::string::String,
24}
25///
26#[derive(Clone, PartialEq, ::prost::Message)]
27pub struct Category {
28    ///
29    #[prost(int64, tag = "1")]
30    pub id: i64,
31    ///
32    #[prost(string, tag = "2")]
33    pub name: ::prost::alloc::string::String,
34    ///
35    #[prost(message, repeated, tag = "3")]
36    pub topic: ::prost::alloc::vec::Vec<Topic>,
37}
38///
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct CreateTopicReply {
41    ///
42    #[prost(int64, tag = "1")]
43    pub id: i64,
44    ///
45    #[prost(string, tag = "2")]
46    pub name: ::prost::alloc::string::String,
47    ///
48    #[prost(enumeration = "TopicStatus", tag = "3")]
49    pub status: i32,
50    ///
51    #[prost(int64, tag = "4")]
52    pub category_id: i64,
53}
54///
55#[derive(Clone, PartialEq, ::prost::Message)]
56pub struct CreateTopicReq {
57    ///
58    #[prost(string, tag = "1")]
59    pub name: ::prost::alloc::string::String,
60    ///
61    #[prost(int64, tag = "2")]
62    pub category_id: i64,
63    ///
64    #[prost(int64, tag = "3")]
65    pub up_mid: i64,
66}
67///
68#[derive(Clone, Copy, PartialEq, ::prost::Message)]
69pub struct DelMessageReply {}
70///
71#[derive(Clone, Copy, PartialEq, ::prost::Message)]
72pub struct DelMessageReq {
73    ///
74    #[prost(int64, tag = "1")]
75    pub id: i64,
76    ///
77    #[prost(int64, tag = "2")]
78    pub topic_id: i64,
79}
80///
81#[derive(Clone, Copy, PartialEq, ::prost::Message)]
82pub struct DelTopicReply {}
83///
84#[derive(Clone, Copy, PartialEq, ::prost::Message)]
85pub struct DelTopicReq {
86    ///
87    #[prost(int64, tag = "1")]
88    pub id: i64,
89}
90///
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct DialogButton {
93    ///
94    #[prost(string, tag = "1")]
95    pub title: ::prost::alloc::string::String,
96    ///
97    #[prost(string, tag = "2")]
98    pub content: ::prost::alloc::string::String,
99    ///
100    #[prost(message, optional, tag = "3")]
101    pub confirm: ::core::option::Option<ActionButton>,
102    ///
103    #[prost(string, tag = "4")]
104    pub cancel: ::prost::alloc::string::String,
105    ///
106    #[prost(string, tag = "5")]
107    pub text: ::prost::alloc::string::String,
108}
109///
110#[derive(Clone, PartialEq, ::prost::Message)]
111pub struct EditTopicReply {
112    ///
113    #[prost(int64, tag = "1")]
114    pub id: i64,
115    ///
116    #[prost(string, tag = "2")]
117    pub name: ::prost::alloc::string::String,
118    ///
119    #[prost(enumeration = "TopicStatus", tag = "3")]
120    pub status: i32,
121    ///
122    #[prost(int64, tag = "4")]
123    pub category_id: i64,
124}
125///
126#[derive(Clone, PartialEq, ::prost::Message)]
127pub struct EditTopicReq {
128    ///
129    #[prost(int64, tag = "1")]
130    pub id: i64,
131    ///
132    #[prost(string, tag = "2")]
133    pub name: ::prost::alloc::string::String,
134    ///
135    #[prost(int64, tag = "3")]
136    pub category_id: i64,
137}
138///
139#[derive(Clone, PartialEq, ::prost::Message)]
140pub struct GetManagePageReply {
141    ///
142    #[prost(int64, tag = "1")]
143    pub up_mid: i64,
144    ///
145    #[prost(enumeration = "ServerStatus", tag = "2")]
146    pub status: i32,
147    ///
148    #[prost(message, optional, tag = "3")]
149    pub online: ::core::option::Option<DialogButton>,
150    ///
151    #[prost(message, optional, tag = "4")]
152    pub offline: ::core::option::Option<DialogButton>,
153}
154///
155#[derive(Clone, Copy, PartialEq, ::prost::Message)]
156pub struct GetManagePageReq {
157    ///
158    #[prost(int64, tag = "1")]
159    pub up_mid: i64,
160}
161///
162#[derive(Clone, Copy, PartialEq, ::prost::Message)]
163pub struct HasServerReply {
164    ///
165    #[prost(bool, tag = "1")]
166    pub hit_server: bool,
167}
168///
169#[derive(Clone, Copy, PartialEq, ::prost::Message)]
170pub struct HasServerReq {
171    ///
172    #[prost(int64, tag = "1")]
173    pub mid: i64,
174}
175///
176#[derive(Clone, PartialEq, ::prost::Message)]
177pub struct Input {
178    ///
179    #[prost(string, tag = "1")]
180    pub placeholder: ::prost::alloc::string::String,
181}
182///
183#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct ItemContentEmoji {
185    ///
186    #[prost(string, tag = "1")]
187    pub uri: ::prost::alloc::string::String,
188}
189///
190#[derive(Clone, PartialEq, ::prost::Message)]
191pub struct ItemContentHighlight {
192    ///
193    #[prost(string, tag = "1")]
194    pub text: ::prost::alloc::string::String,
195    ///
196    #[prost(string, tag = "2")]
197    pub icon: ::prost::alloc::string::String,
198    ///
199    #[prost(enumeration = "IconPosition", tag = "3")]
200    pub icon_position: i32,
201    ///
202    #[prost(string, tag = "4")]
203    pub jump_url: ::prost::alloc::string::String,
204}
205///
206#[derive(Clone, PartialEq, ::prost::Message)]
207pub struct ItemContentItem {
208    ///
209    #[prost(enumeration = "ItemContentType", tag = "1")]
210    pub r#type: i32,
211    ///
212    #[prost(message, optional, tag = "2")]
213    pub text: ::core::option::Option<ItemContentText>,
214    ///
215    #[prost(message, optional, tag = "3")]
216    pub highlight: ::core::option::Option<ItemContentHighlight>,
217    ///
218    #[prost(message, optional, tag = "4")]
219    pub emoji: ::core::option::Option<ItemContentEmoji>,
220    ///
221    #[prost(string, tag = "5")]
222    pub raw_text: ::prost::alloc::string::String,
223}
224///
225#[derive(Clone, PartialEq, ::prost::Message)]
226pub struct ItemContentText {
227    ///
228    #[prost(string, tag = "1")]
229    pub text: ::prost::alloc::string::String,
230}
231///
232#[derive(Clone, Copy, PartialEq, ::prost::Message)]
233pub struct LikeMessageReply {}
234///
235#[derive(Clone, Copy, PartialEq, ::prost::Message)]
236pub struct LikeMessageReq {
237    ///
238    #[prost(int64, tag = "1")]
239    pub topic_id: i64,
240    ///
241    #[prost(int64, tag = "2")]
242    pub message_id: i64,
243    ///
244    #[prost(enumeration = "MessageActionType", tag = "3")]
245    pub action: i32,
246}
247///
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct Message {
250    ///
251    #[prost(int64, tag = "1")]
252    pub id: i64,
253    ///
254    #[prost(int64, tag = "2")]
255    pub timestamp: i64,
256    ///
257    #[prost(enumeration = "MessageStatus", tag = "3")]
258    pub status: i32,
259    ///
260    #[prost(message, repeated, tag = "4")]
261    pub items: ::prost::alloc::vec::Vec<MessageItem>,
262    ///
263    #[prost(enumeration = "MessageType", tag = "5")]
264    pub r#type: i32,
265    ///
266    #[prost(int64, tag = "6")]
267    pub order: i64,
268}
269///
270#[derive(Clone, PartialEq, ::prost::Message)]
271pub struct MessageItem {
272    ///
273    #[prost(enumeration = "MessageItemType", tag = "1")]
274    pub r#type: i32,
275    ///
276    #[prost(message, optional, tag = "2")]
277    pub author: ::core::option::Option<MessageItemAuthor>,
278    ///
279    #[prost(message, optional, tag = "3")]
280    pub notice: ::core::option::Option<MessageItemNotice>,
281    ///
282    #[prost(message, optional, tag = "4")]
283    pub content: ::core::option::Option<MessageItemContent>,
284    ///
285    #[prost(message, optional, tag = "5")]
286    pub picture: ::core::option::Option<MessageItemPicture>,
287    ///
288    #[prost(message, optional, tag = "6")]
289    pub addition: ::core::option::Option<MessageItemAddition>,
290}
291///
292#[derive(Clone, PartialEq, ::prost::Message)]
293pub struct MessageItemAddition {
294    ///
295    #[prost(int64, tag = "1")]
296    pub likes: i64,
297    ///
298    #[prost(bool, tag = "2")]
299    pub liked: bool,
300    ///
301    #[prost(bool, tag = "3")]
302    pub show_menu: bool,
303    ///
304    #[prost(message, optional, tag = "4")]
305    pub report: ::core::option::Option<Button>,
306    ///
307    #[prost(message, optional, tag = "5")]
308    pub delete: ::core::option::Option<DialogButton>,
309    ///
310    #[prost(message, optional, tag = "6")]
311    pub blacklist: ::core::option::Option<DialogButton>,
312}
313///
314#[derive(Clone, PartialEq, ::prost::Message)]
315pub struct MessageItemAuthor {
316    ///
317    #[prost(message, optional, tag = "1")]
318    pub author: ::core::option::Option<UserInfo>,
319    ///
320    #[prost(string, tag = "2")]
321    pub send_time: ::prost::alloc::string::String,
322    ///
323    #[prost(string, tag = "3")]
324    pub location: ::prost::alloc::string::String,
325}
326///
327#[derive(Clone, PartialEq, ::prost::Message)]
328pub struct MessageItemContent {
329    ///
330    #[prost(message, repeated, tag = "1")]
331    pub desc: ::prost::alloc::vec::Vec<ItemContentItem>,
332    ///
333    #[prost(string, tag = "2")]
334    pub jump_uri: ::prost::alloc::string::String,
335    ///
336    #[prost(string, tag = "3")]
337    pub origin_text: ::prost::alloc::string::String,
338    ///
339    #[prost(int32, tag = "4")]
340    pub threshold_lines: i32,
341}
342///
343#[derive(Clone, PartialEq, ::prost::Message)]
344pub struct MessageItemNotice {
345    ///
346    #[prost(string, tag = "1")]
347    pub title: ::prost::alloc::string::String,
348}
349///
350#[derive(Clone, PartialEq, ::prost::Message)]
351pub struct MessageItemPicture {
352    ///
353    #[prost(message, repeated, tag = "1")]
354    pub pictures: ::prost::alloc::vec::Vec<Picture>,
355}
356///
357#[derive(Clone, Copy, PartialEq, ::prost::Message)]
358pub struct MessagePositionReply {}
359///
360#[derive(Clone, PartialEq, ::prost::Message)]
361pub struct MessagePositionReq {
362    ///
363    #[prost(int64, tag = "1")]
364    pub up_mid: i64,
365    ///
366    #[prost(int64, tag = "2")]
367    pub topic_id: i64,
368    ///
369    #[prost(string, tag = "3")]
370    pub next: ::prost::alloc::string::String,
371}
372///
373#[derive(Clone, PartialEq, ::prost::Message)]
374pub struct MessagesReply {
375    ///
376    #[prost(string, tag = "1")]
377    pub title: ::prost::alloc::string::String,
378    ///
379    #[prost(int64, tag = "2")]
380    pub up_mid: i64,
381    ///
382    #[prost(int64, tag = "3")]
383    pub permission: i64,
384    ///
385    #[prost(message, repeated, tag = "4")]
386    pub message: ::prost::alloc::vec::Vec<Message>,
387    ///
388    #[prost(message, optional, tag = "5")]
389    pub page: ::core::option::Option<
390        super::super::super::super::pagination::FeedPaginationReply,
391    >,
392    ///
393    #[prost(message, optional, tag = "6")]
394    pub setting: ::core::option::Option<Button>,
395    ///
396    #[prost(message, optional, tag = "7")]
397    pub input: ::core::option::Option<Input>,
398}
399///
400#[derive(Clone, PartialEq, ::prost::Message)]
401pub struct MessagesReq {
402    ///
403    #[prost(int64, tag = "1")]
404    pub id: i64,
405    ///
406    #[prost(message, optional, tag = "2")]
407    pub page: ::core::option::Option<
408        super::super::super::super::pagination::FeedPagination,
409    >,
410}
411///
412#[derive(Clone, PartialEq, ::prost::Message)]
413pub struct Picture {
414    ///
415    #[prost(string, tag = "1")]
416    pub uri: ::prost::alloc::string::String,
417    ///
418    #[prost(double, tag = "2")]
419    pub width: f64,
420    ///
421    #[prost(double, tag = "3")]
422    pub height: f64,
423    ///
424    #[prost(double, tag = "4")]
425    pub size: f64,
426}
427///
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct SendMessageReply {
430    ///
431    #[prost(message, optional, tag = "1")]
432    pub message: ::core::option::Option<Message>,
433}
434///
435#[derive(Clone, PartialEq, ::prost::Message)]
436pub struct SendMessageReq {
437    ///
438    #[prost(int64, tag = "1")]
439    pub topic_id: i64,
440    ///
441    #[prost(string, tag = "2")]
442    pub message: ::prost::alloc::string::String,
443    ///
444    #[prost(map = "string, int64", tag = "3")]
445    pub at_name_to_mid: ::std::collections::HashMap<::prost::alloc::string::String, i64>,
446    ///
447    #[prost(message, repeated, tag = "4")]
448    pub picture: ::prost::alloc::vec::Vec<Picture>,
449}
450///
451#[derive(Clone, PartialEq, ::prost::Message)]
452pub struct ServerReply {
453    ///
454    #[prost(int64, tag = "1")]
455    pub up_mid: i64,
456    ///
457    #[prost(string, tag = "2")]
458    pub top_photo: ::prost::alloc::string::String,
459    ///
460    #[prost(message, optional, tag = "3")]
461    pub user_info: ::core::option::Option<UserInfo>,
462    ///
463    #[prost(enumeration = "ServerStatus", tag = "4")]
464    pub status: i32,
465    ///
466    #[prost(string, tag = "5")]
467    pub head_word: ::prost::alloc::string::String,
468    ///
469    #[prost(message, repeated, tag = "6")]
470    pub category: ::prost::alloc::vec::Vec<Category>,
471    ///
472    #[prost(message, optional, tag = "7")]
473    pub create: ::core::option::Option<Button>,
474    ///
475    #[prost(message, optional, tag = "8")]
476    pub online: ::core::option::Option<DialogButton>,
477    ///
478    #[prost(message, optional, tag = "9")]
479    pub setting: ::core::option::Option<Button>,
480    ///
481    #[prost(message, optional, tag = "10")]
482    pub tip: ::core::option::Option<Button>,
483    ///
484    #[prost(int64, tag = "11")]
485    pub permission: i64,
486    ///
487    #[prost(string, tag = "12")]
488    pub night_top_photo: ::prost::alloc::string::String,
489}
490///
491#[derive(Clone, Copy, PartialEq, ::prost::Message)]
492pub struct ServerReq {
493    ///
494    #[prost(int64, tag = "1")]
495    pub up_mid: i64,
496}
497///
498#[derive(Clone, Copy, PartialEq, ::prost::Message)]
499pub struct ServerStatusReply {}
500///
501#[derive(Clone, Copy, PartialEq, ::prost::Message)]
502pub struct ServerStatusReq {
503    ///
504    #[prost(enumeration = "ServerStatus", tag = "1")]
505    pub status: i32,
506}
507///
508#[derive(Clone, PartialEq, ::prost::Message)]
509pub struct Topic {
510    ///
511    #[prost(int64, tag = "1")]
512    pub id: i64,
513    ///
514    #[prost(string, tag = "2")]
515    pub name: ::prost::alloc::string::String,
516    ///
517    #[prost(enumeration = "TopicStatus", tag = "3")]
518    pub status: i32,
519    ///
520    #[prost(string, tag = "4")]
521    pub unread_count: ::prost::alloc::string::String,
522    ///
523    #[prost(string, tag = "5")]
524    pub head_icon: ::prost::alloc::string::String,
525    ///
526    #[prost(enumeration = "TopicTailType", tag = "6")]
527    pub tail_type: i32,
528    ///
529    #[prost(string, tag = "7")]
530    pub tail_string: ::prost::alloc::string::String,
531    ///
532    #[prost(message, optional, tag = "8")]
533    pub tail: ::core::option::Option<Button>,
534    ///
535    #[prost(bool, tag = "9")]
536    pub is_template: bool,
537    ///
538    #[prost(string, tag = "10")]
539    pub route: ::prost::alloc::string::String,
540}
541///
542#[derive(Clone, PartialEq, ::prost::Message)]
543pub struct TopicReply {
544    ///
545    #[prost(int64, tag = "1")]
546    pub id: i64,
547    ///
548    #[prost(string, tag = "2")]
549    pub name: ::prost::alloc::string::String,
550    ///
551    #[prost(enumeration = "TopicStatus", tag = "3")]
552    pub status: i32,
553    ///
554    #[prost(bool, tag = "4")]
555    pub name_editable: bool,
556}
557///
558#[derive(Clone, Copy, PartialEq, ::prost::Message)]
559pub struct TopicReq {
560    ///
561    #[prost(int64, tag = "1")]
562    pub id: i64,
563}
564///
565#[derive(Clone, PartialEq, ::prost::Message)]
566pub struct UpServer {
567    ///
568    #[prost(int64, tag = "1")]
569    pub id: i64,
570    ///
571    #[prost(int64, tag = "2")]
572    pub mid: i64,
573    ///
574    #[prost(enumeration = "UpServerType", tag = "3")]
575    pub r#type: i32,
576    ///
577    #[prost(string, tag = "4")]
578    pub face: ::prost::alloc::string::String,
579    ///
580    #[prost(int64, tag = "5")]
581    pub unread_count: i64,
582    ///
583    #[prost(string, tag = "6")]
584    pub name: ::prost::alloc::string::String,
585}
586///
587#[derive(Clone, PartialEq, ::prost::Message)]
588pub struct UpServerListReply {
589    ///
590    #[prost(message, repeated, tag = "1")]
591    pub server: ::prost::alloc::vec::Vec<UpServer>,
592}
593///
594#[derive(Clone, Copy, PartialEq, ::prost::Message)]
595pub struct UpServerListReq {
596    ///
597    #[prost(int64, tag = "1")]
598    pub mid: i64,
599}
600///
601#[derive(Clone, PartialEq, ::prost::Message)]
602pub struct UserInfo {
603    ///
604    #[prost(int64, tag = "1")]
605    pub mid: i64,
606    ///
607    #[prost(string, tag = "2")]
608    pub name: ::prost::alloc::string::String,
609    ///
610    #[prost(string, tag = "3")]
611    pub face: ::prost::alloc::string::String,
612    ///
613    #[prost(string, tag = "4")]
614    pub route: ::prost::alloc::string::String,
615}
616///
617#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
618#[repr(i32)]
619pub enum IconPosition {
620    ///
621    Prefix = 0,
622    ///
623    Suffix = 1,
624}
625impl IconPosition {
626    /// String value of the enum field names used in the ProtoBuf definition.
627    ///
628    /// The values are not transformed in any way and thus are considered stable
629    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
630    pub fn as_str_name(&self) -> &'static str {
631        match self {
632            Self::Prefix => "IconPositionPrefix",
633            Self::Suffix => "IconPositionSuffix",
634        }
635    }
636    /// Creates an enum from field names used in the ProtoBuf definition.
637    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
638        match value {
639            "IconPositionPrefix" => Some(Self::Prefix),
640            "IconPositionSuffix" => Some(Self::Suffix),
641            _ => None,
642        }
643    }
644}
645///
646#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
647#[repr(i32)]
648pub enum ItemContentType {
649    ///
650    Unknown = 0,
651    ///
652    Text = 1,
653    ///
654    Highlight = 2,
655    ///
656    Emoji = 3,
657}
658impl ItemContentType {
659    /// String value of the enum field names used in the ProtoBuf definition.
660    ///
661    /// The values are not transformed in any way and thus are considered stable
662    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
663    pub fn as_str_name(&self) -> &'static str {
664        match self {
665            Self::Unknown => "ItemContentTypeUnknown",
666            Self::Text => "ItemContentTypeText",
667            Self::Highlight => "ItemContentTypeHighlight",
668            Self::Emoji => "ItemContentTypeEmoji",
669        }
670    }
671    /// Creates an enum from field names used in the ProtoBuf definition.
672    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
673        match value {
674            "ItemContentTypeUnknown" => Some(Self::Unknown),
675            "ItemContentTypeText" => Some(Self::Text),
676            "ItemContentTypeHighlight" => Some(Self::Highlight),
677            "ItemContentTypeEmoji" => Some(Self::Emoji),
678            _ => None,
679        }
680    }
681}
682///
683#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
684#[repr(i32)]
685pub enum MessageActionType {
686    ///
687    Unknown = 0,
688    ///
689    Like = 1,
690    ///
691    Unlike = 2,
692}
693impl MessageActionType {
694    /// String value of the enum field names used in the ProtoBuf definition.
695    ///
696    /// The values are not transformed in any way and thus are considered stable
697    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
698    pub fn as_str_name(&self) -> &'static str {
699        match self {
700            Self::Unknown => "MessageActionTypeUnknown",
701            Self::Like => "MessageActionTypeLike",
702            Self::Unlike => "MessageActionTypeUnlike",
703        }
704    }
705    /// Creates an enum from field names used in the ProtoBuf definition.
706    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
707        match value {
708            "MessageActionTypeUnknown" => Some(Self::Unknown),
709            "MessageActionTypeLike" => Some(Self::Like),
710            "MessageActionTypeUnlike" => Some(Self::Unlike),
711            _ => None,
712        }
713    }
714}
715///
716#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
717#[repr(i32)]
718pub enum MessageItemType {
719    ///
720    Unknown = 0,
721    ///
722    Author = 1,
723    ///
724    Notice = 2,
725    ///
726    Content = 3,
727    ///
728    Picture = 4,
729    ///
730    Addition = 5,
731}
732impl MessageItemType {
733    /// String value of the enum field names used in the ProtoBuf definition.
734    ///
735    /// The values are not transformed in any way and thus are considered stable
736    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
737    pub fn as_str_name(&self) -> &'static str {
738        match self {
739            Self::Unknown => "MessageItemTypeUnknown",
740            Self::Author => "MessageItemTypeAuthor",
741            Self::Notice => "MessageItemTypeNotice",
742            Self::Content => "MessageItemTypeContent",
743            Self::Picture => "MessageItemTypePicture",
744            Self::Addition => "MessageItemTypeAddition",
745        }
746    }
747    /// Creates an enum from field names used in the ProtoBuf definition.
748    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
749        match value {
750            "MessageItemTypeUnknown" => Some(Self::Unknown),
751            "MessageItemTypeAuthor" => Some(Self::Author),
752            "MessageItemTypeNotice" => Some(Self::Notice),
753            "MessageItemTypeContent" => Some(Self::Content),
754            "MessageItemTypePicture" => Some(Self::Picture),
755            "MessageItemTypeAddition" => Some(Self::Addition),
756            _ => None,
757        }
758    }
759}
760///
761#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
762#[repr(i32)]
763pub enum MessageStatus {
764    ///
765    Normal = 0,
766    ///
767    Audit = 1,
768    ///
769    SelfSeen = 2,
770    ///
771    Delete = 3,
772}
773impl MessageStatus {
774    /// String value of the enum field names used in the ProtoBuf definition.
775    ///
776    /// The values are not transformed in any way and thus are considered stable
777    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
778    pub fn as_str_name(&self) -> &'static str {
779        match self {
780            Self::Normal => "MessageStatusNormal",
781            Self::Audit => "MessageStatusAudit",
782            Self::SelfSeen => "MessageStatusSelfSeen",
783            Self::Delete => "MessageStatusDelete",
784        }
785    }
786    /// Creates an enum from field names used in the ProtoBuf definition.
787    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
788        match value {
789            "MessageStatusNormal" => Some(Self::Normal),
790            "MessageStatusAudit" => Some(Self::Audit),
791            "MessageStatusSelfSeen" => Some(Self::SelfSeen),
792            "MessageStatusDelete" => Some(Self::Delete),
793            _ => None,
794        }
795    }
796}
797///
798#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
799#[repr(i32)]
800pub enum MessageType {
801    ///
802    None = 0,
803    ///
804    Text = 1,
805    ///
806    Image = 2,
807}
808impl MessageType {
809    /// String value of the enum field names used in the ProtoBuf definition.
810    ///
811    /// The values are not transformed in any way and thus are considered stable
812    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
813    pub fn as_str_name(&self) -> &'static str {
814        match self {
815            Self::None => "MessageTypeNone",
816            Self::Text => "MessageTypeText",
817            Self::Image => "MessageTypeImage",
818        }
819    }
820    /// Creates an enum from field names used in the ProtoBuf definition.
821    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
822        match value {
823            "MessageTypeNone" => Some(Self::None),
824            "MessageTypeText" => Some(Self::Text),
825            "MessageTypeImage" => Some(Self::Image),
826            _ => None,
827        }
828    }
829}
830///
831#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
832#[repr(i32)]
833pub enum ServerStatus {
834    ///
835    Unknown = 0,
836    ///
837    Online = 1,
838    ///
839    Offline = 2,
840}
841impl ServerStatus {
842    /// String value of the enum field names used in the ProtoBuf definition.
843    ///
844    /// The values are not transformed in any way and thus are considered stable
845    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
846    pub fn as_str_name(&self) -> &'static str {
847        match self {
848            Self::Unknown => "ServerStatusUnknown",
849            Self::Online => "ServerStatusOnline",
850            Self::Offline => "ServerStatusOffline",
851        }
852    }
853    /// Creates an enum from field names used in the ProtoBuf definition.
854    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
855        match value {
856            "ServerStatusUnknown" => Some(Self::Unknown),
857            "ServerStatusOnline" => Some(Self::Online),
858            "ServerStatusOffline" => Some(Self::Offline),
859            _ => None,
860        }
861    }
862}
863///
864#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
865#[repr(i32)]
866pub enum TopicStatus {
867    ///
868    Unknown = 0,
869    ///
870    Normal = 1,
871    ///
872    Audit = 2,
873    ///
874    Deleted = 3,
875    ///
876    AuditDeleted = 4,
877}
878impl TopicStatus {
879    /// String value of the enum field names used in the ProtoBuf definition.
880    ///
881    /// The values are not transformed in any way and thus are considered stable
882    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
883    pub fn as_str_name(&self) -> &'static str {
884        match self {
885            Self::Unknown => "TopicStatusUnknown",
886            Self::Normal => "TopicStatusNormal",
887            Self::Audit => "TopicStatusAudit",
888            Self::Deleted => "TopicStatusDeleted",
889            Self::AuditDeleted => "TopicStatusAuditDeleted",
890        }
891    }
892    /// Creates an enum from field names used in the ProtoBuf definition.
893    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
894        match value {
895            "TopicStatusUnknown" => Some(Self::Unknown),
896            "TopicStatusNormal" => Some(Self::Normal),
897            "TopicStatusAudit" => Some(Self::Audit),
898            "TopicStatusDeleted" => Some(Self::Deleted),
899            "TopicStatusAuditDeleted" => Some(Self::AuditDeleted),
900            _ => None,
901        }
902    }
903}
904///
905#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
906#[repr(i32)]
907pub enum TopicTailType {
908    ///
909    Unknown = 0,
910    ///
911    UnreadGray = 1,
912    ///
913    UnreadRed = 2,
914    ///
915    Edit = 3,
916}
917impl TopicTailType {
918    /// String value of the enum field names used in the ProtoBuf definition.
919    ///
920    /// The values are not transformed in any way and thus are considered stable
921    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
922    pub fn as_str_name(&self) -> &'static str {
923        match self {
924            Self::Unknown => "TopicTailTypeUnknown",
925            Self::UnreadGray => "TopicTailTypeUnreadGray",
926            Self::UnreadRed => "TopicTailTypeUnreadRed",
927            Self::Edit => "TopicTailTypeEdit",
928        }
929    }
930    /// Creates an enum from field names used in the ProtoBuf definition.
931    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
932        match value {
933            "TopicTailTypeUnknown" => Some(Self::Unknown),
934            "TopicTailTypeUnreadGray" => Some(Self::UnreadGray),
935            "TopicTailTypeUnreadRed" => Some(Self::UnreadRed),
936            "TopicTailTypeEdit" => Some(Self::Edit),
937            _ => None,
938        }
939    }
940}
941///
942#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
943#[repr(i32)]
944pub enum UpServerType {
945    ///
946    Unknown = 0,
947    ///
948    Create = 1,
949    ///
950    Up = 2,
951    ///
952    Follow = 3,
953}
954impl UpServerType {
955    /// String value of the enum field names used in the ProtoBuf definition.
956    ///
957    /// The values are not transformed in any way and thus are considered stable
958    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
959    pub fn as_str_name(&self) -> &'static str {
960        match self {
961            Self::Unknown => "UpServerTypeUnknown",
962            Self::Create => "UpServerTypeCreate",
963            Self::Up => "UpServerTypeUp",
964            Self::Follow => "UpServerTypeFollow",
965        }
966    }
967    /// Creates an enum from field names used in the ProtoBuf definition.
968    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
969        match value {
970            "UpServerTypeUnknown" => Some(Self::Unknown),
971            "UpServerTypeCreate" => Some(Self::Create),
972            "UpServerTypeUp" => Some(Self::Up),
973            "UpServerTypeFollow" => Some(Self::Follow),
974            _ => None,
975        }
976    }
977}