[Resolvido] Definir outState em mensagem enviada pelo receiver


#1

Tenho um receiver InicioMessageReceiver.
Preciso definir um outState para essa mensagem?
Consigo definir nas mensagens mapeadas no application.json, mas na mensagem enviada pelo Receiver, como posso definir isso?


#2

Para definir no codigo basta vc receber no construtor do seu receiver a interface IStateManager, essa interface vai te da os metodos necessarios para vc alterar o estado via codigo.


#3

@Thiago_Henrique, veja só um exemplo do que o @BrenoQueiroz falou:

public class FirstTextMessageReceiver : IMessageReceiver
{
    private readonly ISender _sender;
    private readonly IStateManager _stateManager;

    public FirstTextMessageReceiver(ISender sender, IStateManager stateManager)
    {
        _sender = sender;
        _stateManager = stateManager;
    }
    public async Task ReceiveAsync(Message message, CancellationToken cancellationToken)
    {
        //Process received message

        //Update user state
        await _stateManager.SetStateAsync(message.From.ToIdentity(), "stateX", cancellationToken);
    }
}