Skip to main content

steam_protos/messages/
chat.rs

1//! Chat/friend message protobuf messages
2
3use prost::Message;
4
5/// Incoming friend message notification
6#[derive(Clone, PartialEq, Message)]
7pub struct CFriendMessagesIncomingMessageNotification {
8    #[prost(fixed64, optional, tag = "1")]
9    pub steamid_friend: Option<u64>,
10    #[prost(int32, optional, tag = "2")]
11    pub chat_entry_type: Option<i32>,
12    #[prost(bool, optional, tag = "3")]
13    pub from_limited_account: Option<bool>,
14    #[prost(string, optional, tag = "4")]
15    pub message: Option<String>,
16    #[prost(fixed32, optional, tag = "5")]
17    pub rtime32_server_timestamp: Option<u32>,
18    #[prost(uint32, optional, tag = "6")]
19    pub ordinal: Option<u32>,
20    #[prost(bool, optional, tag = "7")]
21    pub local_echo: Option<bool>,
22    #[prost(string, optional, tag = "8")]
23    pub message_no_bbcode: Option<String>,
24    #[prost(bool, optional, tag = "9")]
25    pub low_priority: Option<bool>,
26}
27
28/// Send message request
29#[derive(Clone, PartialEq, Message)]
30pub struct CFriendMessagesSendMessageRequest {
31    #[prost(fixed64, optional, tag = "1")]
32    pub steamid: Option<u64>,
33    #[prost(int32, optional, tag = "2")]
34    pub chat_entry_type: Option<i32>,
35    #[prost(string, optional, tag = "3")]
36    pub message: Option<String>,
37    #[prost(bool, optional, tag = "4")]
38    pub contains_bbcode: Option<bool>,
39    #[prost(bool, optional, tag = "5")]
40    pub echo_to_sender: Option<bool>,
41    #[prost(bool, optional, tag = "6")]
42    pub low_priority: Option<bool>,
43    #[prost(string, optional, tag = "8")]
44    pub client_message_id: Option<String>,
45}
46
47/// Get active message sessions request
48#[derive(Clone, PartialEq, Message)]
49pub struct CFriendMessagesGetActiveMessageSessionsRequest {
50    #[prost(uint32, optional, tag = "1")]
51    pub lastmessage_since: Option<u32>,
52    #[prost(bool, optional, tag = "2")]
53    pub only_sessions_with_messages: Option<bool>,
54}
55
56/// Ack message notification/request
57#[derive(Clone, PartialEq, Message)]
58pub struct CFriendMessagesAckMessageNotification {
59    #[prost(fixed64, optional, tag = "1")]
60    pub steamid_partner: Option<u64>,
61    #[prost(uint32, optional, tag = "2")]
62    pub timestamp: Option<u32>,
63}
64
65/// Get recent messages request
66#[derive(Clone, PartialEq, Message)]
67pub struct CFriendMessagesGetRecentMessagesRequest {
68    #[prost(fixed64, optional, tag = "1")]
69    pub steamid1: Option<u64>,
70    #[prost(fixed64, optional, tag = "2")]
71    pub steamid2: Option<u64>,
72    #[prost(uint32, optional, tag = "3")]
73    pub count: Option<u32>,
74    #[prost(bool, optional, tag = "4")]
75    pub most_recent_conversation: Option<bool>,
76    #[prost(fixed32, optional, tag = "5")]
77    pub rtime32_start_time: Option<u32>,
78    #[prost(bool, optional, tag = "6")]
79    pub bbcode_format: Option<bool>,
80    #[prost(uint32, optional, tag = "7")]
81    pub start_ordinal: Option<u32>,
82    #[prost(uint32, optional, tag = "8")]
83    pub time_last: Option<u32>,
84    #[prost(uint32, optional, tag = "9")]
85    pub ordinal_last: Option<u32>,
86}
87
88/// Get recent messages response
89#[derive(Clone, PartialEq, Message)]
90pub struct CFriendMessagesGetRecentMessagesResponse {
91    #[prost(message, repeated, tag = "1")]
92    pub messages: Vec<c_friend_messages_get_recent_messages_response::FriendMessage>,
93    #[prost(bool, optional, tag = "4")]
94    pub more_available: Option<bool>,
95}
96
97pub mod c_friend_messages_get_recent_messages_response {
98    use prost::Message;
99
100    #[derive(Clone, PartialEq, Message)]
101    pub struct FriendMessage {
102        #[prost(uint32, optional, tag = "1")]
103        pub accountid: Option<u32>,
104        #[prost(uint32, optional, tag = "2")]
105        pub timestamp: Option<u32>,
106        #[prost(string, optional, tag = "3")]
107        pub message: Option<String>,
108        #[prost(uint32, optional, tag = "4")]
109        pub ordinal: Option<u32>,
110    }
111}
112
113/// Get active message sessions response
114#[derive(Clone, PartialEq, Message)]
115pub struct CFriendMessagesGetActiveMessageSessionsResponse {
116    #[prost(message, repeated, tag = "1")]
117    pub message_sessions: Vec<c_friend_messages_get_active_message_sessions_response::FriendMessageSession>,
118    #[prost(uint32, optional, tag = "2")]
119    pub timestamp: Option<u32>,
120}
121
122pub mod c_friend_messages_get_active_message_sessions_response {
123    use prost::Message;
124
125    #[derive(Clone, PartialEq, Message)]
126    pub struct FriendMessageSession {
127        #[prost(uint32, optional, tag = "1")]
128        pub accountid_friend: Option<u32>,
129        #[prost(uint32, optional, tag = "2")]
130        pub last_message: Option<u32>,
131        #[prost(uint32, optional, tag = "3")]
132        pub last_view: Option<u32>,
133        #[prost(uint32, optional, tag = "4")]
134        pub unread_message_count: Option<u32>,
135    }
136}
137
138/// Send message response
139#[derive(Clone, PartialEq, Message)]
140pub struct CFriendMessagesSendMessageResponse {
141    #[prost(string, optional, tag = "1")]
142    pub modified_message: Option<String>,
143    #[prost(uint32, optional, tag = "2")]
144    pub server_timestamp: Option<u32>,
145    #[prost(uint32, optional, tag = "3")]
146    pub ordinal: Option<u32>,
147    #[prost(string, optional, tag = "4")]
148    pub message_without_bb_code: Option<String>,
149}