MessagingViewModel
public final class MessagingViewModel : ObservableObject, Identifiable
                  MessagingViewModel is the key object that sits between the UI and the Model
It is a mandatory EnvironmentObject consumed by AssistantView
It implements BindableObject protocol which allows you to directly bind public
properties from your SwiftUI view
- 
                    
                    
Holds information about menu preferences
Declaration
Swift
@Published public var menu: PreferencesMenuData? { get set } - 
                    
                    
messages over time (including non-acknowledged client initiated messages which will be removed (and quasi replaced) once bot acknowledges them)
Declaration
Swift
@Published public private(set) var model: [MessageData] { get set } - 
                    
                    
messages returned by bot over time
Declaration
Swift
@Published public private(set) var acknowledgedMessages: [MessageData] { get set } - 
                    
                    
A closure to provide context-specific information before any message is sent to the bot. The arguments are supplied based on the type of message which gets posted (either a text message or a postback message).
Example
You want to pass user information for every message which will be send to the bot. Here, ‘User’ is a custom struct (i.e. not part of this package) conforming to
Encodableand has two stored properties named firstName and lastNamelet viewModel: MessagingViewModel(publisher: aPublisher) viewModel.memoryOptionsProvider = { _, _, _ in return MemoryOptions(merge: true, memory: User(firstName: "John", lastName: "Doe")) }Declaration
Swift
public var memoryOptionsProvider: ((String?, PostbackType?, PostbackData?) -> MemoryOptions)? 
- 
                    
                    
Default initializer expects a messaging publisher
Declaration
Swift
public init<P>(publisher: P) where P : MessagingPublisher 
- 
                    
                    
Update the current messaging publisher with a new one. The existing model will be cleared.
Declaration
Swift
public func updatePublisher<P>(_ publisher: P) where P : MessagingPublisherParameters
publisherNew publisher to bind to this view model.
 - 
                    
                    
Undocumented
Declaration
Swift
public func postMessage(text: String) - 
                    
                    
Undocumented
Declaration
Swift
public func postMessage(type: PostbackType, postbackData: PostbackData) - 
                    
                    
If you have your own View, you have to call this function when your view appear. It will be called when
AssistantViewappears.Declaration
Swift
public func load() - 
                    
                    
If you want to make sure this class gets deallocated correctly, you must cancel the subscriptions from the publisher. Call this function to do so.
Declaration
Swift
public func cancelSubscriptions()