Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# &引用;“例外消息”:&引用';ReplyToId';不能为空。”;_C#_Bots_Botframework - Fatal编程技术网

C# &引用;“例外消息”:&引用';ReplyToId';不能为空。”;

C# &引用;“例外消息”:&引用';ReplyToId';不能为空。”;,c#,bots,botframework,C#,Bots,Botframework,我只是想在添加bot时向用户发送一条欢迎消息。我已经编写了以下代码,但我收到了“exceptionMessage”:“ReplyToId”不能为null。”在bot JSON结果中 else if (message.Type == ActivityTypes.ConversationUpdate) { // Handle conversation state changes, like members being added

我只是想在添加bot时向用户发送一条欢迎消息。我已经编写了以下代码,但我收到了“exceptionMessage”:“ReplyToId”不能为null。”在bot JSON结果中

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);
                            }
                        }
                    }
                }
else if(message.Type==ActivityTypes.ConversationUpdate)
{
//处理会话状态更改,如添加和删除成员
//使用Activity.MembersAdded和Activity.MembersRemoved以及Activity.Action获取信息
//并非所有频道都可用
IConversationUpdateActivity conversationupdate=消息;
使用(var scope=DialogModule.BeginLifetimeScope(Conversation.Container,message))
{
var client=scope.Resolve();
if(conversationupdate.MembersAdded.Any())
{
var reply=message.CreateReply();
foreach(conversationupdate.MembersAdded中的var newMember)
{
if(newMember.Id!=message.Recipient.Id)
{
reply.Text=$“欢迎{newMember.Name}!”;
}
其他的
{
reply.Text=$“欢迎{message.From.Name}”;
}
等待client.Conversations.ReplyToActivityAsync(消息);
}
}
}
}

您似乎没有正确创建回复。您正在使用传入消息,而不是从中创建回复

以下是有效的代码,您应该能够适应您的场景:

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);
      }
}