@@ -17,39 +17,39 @@ internal sealed class MessagesCodeSamples
1717 /// </summary>
1818 public async Task Overview ( )
1919 {
20- var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
21- var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
20+ var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
21+ var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
2222 }
2323
2424 /// <summary>
2525 /// https://getstream.io/chat/docs/unity/send_message/?language=unity#complex-example
2626 /// </summary>
2727 public async Task ComplexExample ( )
2828 {
29- var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , "my-channel-id" ) ;
29+ var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , "my-channel-id" ) ;
3030
31- IStreamUser someUser = null ;
31+ IStreamUser someUser = null ;
3232
3333// Send simple message with text only
34- var message3 = await channel . SendNewMessageAsync ( "Hello" ) ;
34+ var message3 = await channel . SendNewMessageAsync ( "Hello" ) ;
3535
3636// Send simple message with text only
37- var message2 = await channel . SendNewMessageAsync ( "Let's start a thread!" ) ;
37+ var message2 = await channel . SendNewMessageAsync ( "Let's start a thread!" ) ;
3838
39- var message = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
40- {
41- MentionedUsers = new List < IStreamUser > { someUser } , // Mention a user
42- ParentId = message2 . Id , // Write in thread
43- PinExpires = new DateTimeOffset ( DateTime . Now ) . AddDays ( 7 ) , // Pin for 7 days
44- Pinned = true ,
45- QuotedMessage = message3 ,
46- ShowInChannel = true ,
47- Text = "Hello" ,
48- CustomData = new StreamCustomDataRequest
49- {
50- { "my_lucky_numbers" , new List < int > { 7 , 13 , 81 } }
51- }
52- } ) ;
39+ var message = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
40+ {
41+ MentionedUsers = new List < IStreamUser > { someUser } , // Mention a user
42+ ParentId = message2 . Id , // Write in thread
43+ PinExpires = new DateTimeOffset ( DateTime . Now ) . AddDays ( 7 ) , // Pin for 7 days
44+ Pinned = true ,
45+ QuotedMessage = message3 ,
46+ ShowInChannel = true ,
47+ Text = "Hello" ,
48+ CustomData = new StreamCustomDataRequest
49+ {
50+ { "my_lucky_numbers" , new List < int > { 7 , 13 , 81 } }
51+ }
52+ } ) ;
5353 }
5454
5555 /// <summary>
@@ -65,18 +65,18 @@ public async Task GetMessageById()
6565 /// </summary>
6666 public async Task UpdateAMessage ( )
6767 {
68- var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
69- var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
68+ var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
69+ var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
7070
7171// Edit message text and some custom data
72- await message . UpdateAsync ( new StreamUpdateMessageRequest
73- {
74- Text = "Hi everyone!" ,
75- CustomData = new StreamCustomDataRequest
76- {
77- { "tags" , new [ ] { "Funny" , "Unique" } }
78- }
79- } ) ;
72+ await message . UpdateAsync ( new StreamUpdateMessageRequest
73+ {
74+ Text = "Hi everyone!" ,
75+ CustomData = new StreamCustomDataRequest
76+ {
77+ { "tags" , new [ ] { "Funny" , "Unique" } }
78+ }
79+ } ) ;
8080 }
8181
8282 /// <summary>
@@ -92,14 +92,14 @@ public async Task PartialUpdate()
9292 /// </summary>
9393 public async Task DeleteAMessage ( )
9494 {
95- var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
96- var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
95+ var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
96+ var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
9797
9898// Soft delete
99- await message . SoftDeleteAsync ( ) ;
99+ await message . SoftDeleteAsync ( ) ;
100100
101101// Hard delete
102- await message . HardDeleteAsync ( ) ;
102+ await message . HardDeleteAsync ( ) ;
103103 }
104104
105105 /// <summary>
@@ -118,24 +118,23 @@ public async Task UploadFileOrImage()
118118 var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
119119
120120// Get file byte array however you want e.g. Addressables.LoadAsset, Resources.Load, etc.
121- var sampleFile = File . ReadAllBytes ( "path/to/file" ) ;
122- var fileUploadResponse = await channel . UploadFileAsync ( sampleFile , "my-file-name" ) ;
123- var fileWebUrl = fileUploadResponse . FileUrl ;
121+ var sampleFile = File . ReadAllBytes ( "path/to/file" ) ;
122+ var fileUploadResponse = await channel . UploadFileAsync ( sampleFile , "my-file-name" ) ;
123+ var fileWebUrl = fileUploadResponse . FileUrl ;
124124
125125// Get image byte array however you want e.g. Addressables.LoadAsset, Resources.Load, etc.
126- var sampleImage = File . ReadAllBytes ( "path/to/file" ) ;
127- var imageUploadResponse = await channel . UploadImageAsync ( sampleFile , "my-image-name" ) ;
128- var imageWebUrl = imageUploadResponse . FileUrl ;
129-
126+ var sampleImage = File . ReadAllBytes ( "path/to/file" ) ;
127+ var imageUploadResponse = await channel . UploadImageAsync ( sampleFile , "my-image-name" ) ;
128+ var imageWebUrl = imageUploadResponse . FileUrl ;
130129 }
131130
132131 /// <summary>
133132 /// https://getstream.io/chat/docs/unity/file_uploads/?language=unity#deleting-files-and-images
134133 /// </summary>
135134 public async Task DeleteFileOrImage ( )
136135 {
137- var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
138- await channel . DeleteFileOrImageAsync ( "file-url" ) ;
136+ var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
137+ await channel . DeleteFileOrImageAsync ( "file-url" ) ;
139138 }
140139
141140 /// <summary>
@@ -146,19 +145,19 @@ public async Task UsingYourOwnCdn()
146145 var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
147146
148147//Implement your own CDN upload and obtain the file URL
149- var fileUrl = "file-url-to-your-cdn" ;
148+ var fileUrl = "file-url-to-your-cdn" ;
150149
151- await channel . SendNewMessageAsync ( new StreamSendMessageRequest
152- {
153- Text = "Message with file attachment" ,
154- Attachments = new List < StreamAttachmentRequest >
155- {
156- new StreamAttachmentRequest
157- {
158- AssetUrl = fileUrl ,
159- }
160- }
161- } ) ;
150+ await channel . SendNewMessageAsync ( new StreamSendMessageRequest
151+ {
152+ Text = "Message with file attachment" ,
153+ Attachments = new List < StreamAttachmentRequest >
154+ {
155+ new StreamAttachmentRequest
156+ {
157+ AssetUrl = fileUrl ,
158+ }
159+ }
160+ } ) ;
162161
163162 await Task . CompletedTask ;
164163 }
@@ -172,16 +171,16 @@ public async Task ReactionOverview()
172171 var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
173172
174173// Send simple reaction with a score of 1
175- await message . SendReactionAsync ( "like" ) ;
174+ await message . SendReactionAsync ( "like" ) ;
176175
177176// Send reaction with a custom score value
178- await message . SendReactionAsync ( "clap" , 10 ) ;
177+ await message . SendReactionAsync ( "clap" , 10 ) ;
179178
180179// Send reaction with a custom score value
181- await message . SendReactionAsync ( "clap" , 10 ) ;
180+ await message . SendReactionAsync ( "clap" , 10 ) ;
182181
183182// Send reaction and replace all previous reactions (if any) from this user
184- await message . SendReactionAsync ( "love" , enforceUnique : true ) ;
183+ await message . SendReactionAsync ( "love" , enforceUnique : true ) ;
185184 }
186185
187186 /// <summary>
@@ -192,7 +191,7 @@ public async Task RemoveReaction()
192191 var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
193192 var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
194193
195- await message . DeleteReactionAsync ( "like" ) ;
194+ await message . DeleteReactionAsync ( "like" ) ;
196195 }
197196
198197 /// <summary>
@@ -214,7 +213,7 @@ public async Task CumulativeReactions()
214213 var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , channelId : "my-channel-id" ) ;
215214 var message = await channel . SendNewMessageAsync ( "Hello world!" ) ;
216215
217- await message . SendReactionAsync ( "clap" , score : 3 ) ;
216+ await message . SendReactionAsync ( "clap" , score : 3 ) ;
218217 }
219218
220219 /// <summary>
@@ -228,14 +227,14 @@ public async Task ThreadsAndReplies()
228227 var message3 = await channel . SendNewMessageAsync ( "Hello" ) ;
229228
230229// Send simple message with text only
231- var parentMessage = await channel . SendNewMessageAsync ( "Let's start a thread!" ) ;
230+ var parentMessage = await channel . SendNewMessageAsync ( "Let's start a thread!" ) ;
232231
233- var messageInThread = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
234- {
235- ParentId = parentMessage . Id , // Write in thread
236- ShowInChannel = false , // Optionally send to both thread and the main channel like in Slack
237- Text = "Hello" ,
238- } ) ;
232+ var messageInThread = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
233+ {
234+ ParentId = parentMessage . Id , // Write in thread
235+ ShowInChannel = false , // Optionally send to both thread and the main channel like in Slack
236+ Text = "Hello" ,
237+ } ) ;
239238 }
240239
241240 /// <summary>
@@ -259,11 +258,11 @@ public async Task QuoteMessage()
259258// Send simple message with text only
260259 var quotedMessage = await channel . SendNewMessageAsync ( "Let's start a thread!" ) ;
261260
262- var messageWithQuote = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
263- {
264- QuotedMessage = quotedMessage ,
265- Text = "Hello" ,
266- } ) ;
261+ var messageWithQuote = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
262+ {
263+ QuotedMessage = quotedMessage ,
264+ Text = "Hello" ,
265+ } ) ;
267266 }
268267
269268 /// <summary>
@@ -282,46 +281,45 @@ public async Task SilentMessages()
282281 var channel = await Client . GetOrCreateChannelWithIdAsync ( ChannelType . Messaging , "my-channel-id" ) ;
283282
284283// This message will not trigger events for channel members
285- var silentMessage = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
286- {
287- Text = "System message" ,
288- Silent = true
289- } ) ;
284+ var silentMessage = await channel . SendNewMessageAsync ( new StreamSendMessageRequest
285+ {
286+ Text = "System message" ,
287+ Silent = true
288+ } ) ;
290289 }
291290
292291 /// <summary>
293292 /// https://getstream.io/chat/docs/unity/search/?language=unity
294293 /// </summary>
295294 public async Task Search ( )
296295 {
297-
298296// Access to low-level client is left for backward compatibility. Soon simplified syntax for searching will be implemented
299- var searchResponse = await Client . LowLevelClient . MessageApi . SearchMessagesAsync ( new SearchRequest
300- {
301- //Filter is required for search
302- FilterConditions = new Dictionary < string , object >
303- {
304- {
305- //Get channels that local user is a member of
306- "members" , new Dictionary < string , object >
297+ var searchResponse = await Client . LowLevelClient . MessageApi . SearchMessagesAsync ( new SearchRequest
298+ {
299+ //Filter is required for search
300+ FilterConditions = new Dictionary < string , object >
301+ {
302+ {
303+ //Get channels that local user is a member of
304+ "members" , new Dictionary < string , object >
305+ {
306+ { "$in" , new [ ] { "John" } }
307+ }
308+ }
309+ } ,
310+
311+ //search phrase
312+ Query = "supercalifragilisticexpialidocious"
313+ } ) ;
314+
315+ foreach ( var searchResult in searchResponse . Results )
307316 {
308- { "$in" , new [ ] { "John" } }
317+ Debug . Log ( searchResult . Message . Id ) ; //Message ID
318+ Debug . Log ( searchResult . Message . Text ) ; //Message text
319+ Debug . Log ( searchResult . Message . User ) ; //Message author info
320+ Debug . Log ( searchResult . Message . Channel ) ; //Channel info
309321 }
310322 }
311- } ,
312-
313- //search phrase
314- Query = "supercalifragilisticexpialidocious"
315- } ) ;
316-
317- foreach ( var searchResult in searchResponse . Results )
318- {
319- Debug . Log ( searchResult . Message . Id ) ; //Message ID
320- Debug . Log ( searchResult . Message . Text ) ; //Message text
321- Debug . Log ( searchResult . Message . User ) ; //Message author info
322- Debug . Log ( searchResult . Message . Channel ) ; //Channel info
323- }
324- }
325323
326324 /// <summary>
327325 /// https://getstream.io/chat/docs/unity/search/?language=unity#pagination
@@ -339,13 +337,13 @@ public async Task PinAndUnpinMessage()
339337 IStreamMessage message = null ;
340338
341339// Pin until unpinned
342- await message . PinAsync ( ) ;
340+ await message . PinAsync ( ) ;
343341
344342// Pin for 7 days
345- await message . PinAsync ( new DateTime ( ) . AddDays ( 7 ) ) ;
343+ await message . PinAsync ( new DateTime ( ) . AddDays ( 7 ) ) ;
346344
347345// Unpin previously pinned message
348- await message . UnpinAsync ( ) ;
346+ await message . UnpinAsync ( ) ;
349347 }
350348
351349 /// <summary>
0 commit comments