2017-04-21 11 views
2

ボットを追加したときにユーザーにウェルカムメッセージを送信しようとしています。私は以下のコードを書いていますが、"exceptionMessage"を受け取りました: "'ReplyToId'はnullにはなりません。のJSON結果が表示されます。"exceptionMessage": "'' ReplyToId 'をnullにすることはできません。

else if (message.Type == ActivityTypes.ConversationUpdate) 
       { 
        // Handle conversation state changes, like members being added and removed 
        // Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info 
        // Not available in all channels 
        IConversationUpdateActivity conversationupdate = message; 
        using (var scope = DialogModule.BeginLifetimeScope(Conversation.Container, message)) 
        { 
         var client = scope.Resolve<IConnectorClient>(); 
         if (conversationupdate.MembersAdded.Any()) 
         { 
          var reply = message.CreateReply(); 
          foreach (var newMember in conversationupdate.MembersAdded) 
          { 
           if (newMember.Id != message.Recipient.Id) 
           { 
            reply.Text = $"Welcome {newMember.Name}! "; 
           } 
           else 
           { 
            reply.Text = $"Welcome {message.From.Name}"; 

           } 
           await client.Conversations.ReplyToActivityAsync(message); 
          } 
         } 
        } 
       } 

答えて

2

返信を正しく作成していないようです。受信したメッセージを返信する代わりに使用しています。ここで

は動作するコードであり、あなたがあなたのシナリオに適応するエールする必要があります:

else if (message.Type == ActivityTypes.ConversationUpdate) 
{ 
    if (message.MembersAdded.Any(o => o.Id == message.Recipient.Id)) 
    { 
      var reply = message.CreateReply("Welcome!"); 

      ConnectorClient connector = new ConnectorClient(new Uri(message.ServiceUrl)); 

      await connector.Conversations.ReplyToActivityAsync(reply); 
     } 
} 
関連する問題