有什么方法可以确定我的机器人已添加到 conversation/contact 列表中吗?

Is there any way to identify that my bot is added to conversation/contact list?

我正在尝试介绍我的 BOT。当用户被添加到他们的 conversation/contact 列表时。我尝试过处理 ActivityTypes.ConversationUpdate 消息类型。但它在 Skype 中不起作用。有什么通用的方法可以在所有渠道中使用吗?

这是我使用的代码:

 public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
        ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
        if (activity.Type == ActivityTypes.Message)
        {

            // calculate something for us to return
            int length = (activity.Text ?? string.Empty).Length;

            // return our reply to the user
            Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");
            await connector.Conversations.ReplyToActivityAsync(reply);
        }
        else if(activity.Type == ActivityTypes.ConversationUpdate)
        {
            StateClient stateClient = activity.GetStateClient();
            BotData userData = await stateClient.BotState.GetUserDataAsync(activity.ChannelId, activity.From.Id);

            if (!userData.GetProperty<bool>("SentGreeting"))
            {
                Activity reply = activity.CreateReply($"Hi " + activity.From.Name + ", I'm the Microsoft Bot");
                userData.SetProperty<bool>("SentGreeting", true);
                await stateClient.BotState.SetUserDataAsync(activity.ChannelId, activity.From.Id, userData);
                await connector.Conversations.ReplyToActivityAsync(reply);
            }
        }
        var response = Request.CreateResponse(HttpStatusCode.OK);
        return response;
    }

works here 提前致谢。

Skype 频道没有发送 ConversationUpdate 消息。 Bot Framework EmulatorWebChat 等其他渠道都可以。在 Skype 频道中收到来自用户的消息之前,无法向用户发送消息。