1- import '../connection/connection.dart' ;
2- import '../conversations/models/models.dart' ;
3- import 'realtime/models/models.dart' ;
1+ import '../api.dart' ;
42
53const String messageRequestName = 'message' ;
64const String messageEditRequestName = 'message_edit' ;
@@ -10,7 +8,7 @@ const String messagesDeleteRequestName = 'message_delete';
108
119const messageRequestTimeout = Duration (seconds: 5 );
1210
13- Future <bool > sendMessage ({
11+ Future <( bool , Message ?) > sendMessage ({
1412 required Message message,
1513}) {
1614 var dataToSend = {
@@ -23,7 +21,7 @@ Future<bool> sendMessage({
2321
2422 if (SamaConnectionService .instance.connectionState !=
2523 ConnectionState .connected) {
26- return Future .value (false );
24+ return Future .value (( false , null ) );
2725 }
2826
2927 return SamaConnectionService .instance
@@ -32,11 +30,16 @@ Future<bool> sendMessage({
3230 .timeout (messageRequestTimeout)
3331 .then ((response) {
3432 if (message.id == response['mid' ]) {
35- return true ;
33+ if (response['bot_message' ] != null ) {
34+ return (true , Message .fromJson (response['bot_message' ]));
35+ } else if (response['modified' ] != null ) {
36+ var msg = message.copyWith (
37+ body: response['modified' ]['body' ], extension : {'modified' : true });
38+ return (true , msg);
39+ }
40+ return (true , null );
3641 }
37- return false ;
38- }).catchError ((onError) {
39- return false ;
42+ return (false , null );
4043 });
4144}
4245
0 commit comments