[Resolvido] Receiver "chatState" não está sendo chamado (SDK C#)

Boa noite pessoal, estou com um problema na definição de um dos meus receivers.

Veja só meu applicaiton.json

{
  "identifier": "myIdentifier",
  "accessKey": "myAccessKey",
  "messageReceivers": [
    {
      "type": "ChatStateMessageReceiver",
      "mediaType": "application/vnd.lime.chatstate+json"
    }
  ],
  "settings": {
    "setting1": "value1"
  },
  //"serviceProviderType": "ServiceProvider",
  "startupType": "Startup",
  "schemaVersion": 2
}

Por algum motivo, quando meu bot recebe um um envelope com conteúdo do tipo “ChatState” meu receiver “ChatStateMessageReceiver” não é acionado.

Podem me ajudar ?

Olá Christopher,

a definição dos receiver no application.json não deve conter o sufixo do tipo (+json).
Troque o mediaType do seu bot para este valor application/vnd.lime.chatstate

O seu application.json deve ficar assim:

{
  ...

  "messageReceivers": [
    {
      "type": "ChatStateMessageReceiver",
      "mediaType": "application/vnd.lime.chatstate"
    }
  ],
  
  ...
}

Vale lembrar que o mediaType é validado por uma expressão regular, então você pode fazer regras bem mais complexas também.

O motivo do +json não funcionar é pq o + é um caractere usado na expressão regular no caso teria que ser application/vnd.lime.chatstate\+json