Microsoft Bot Framework FAQ - 讓使用者一使用就顯示 Welcome Message

使用 Microsoft Bot Framework 時,您知道如何讓使用者一進入時,就顯示 Welcome Message 嗎? 

從預設的範本建立的專案,都需要使用者先輸入文件,它才會回應。

要如何才能一開始就顯示訊息呢?

我們可以從 emulator 發現,使用者一使用它時,它的 message.Type 是 ActivityTypes.ConversationUpdate。

所以我們可以在 HandleSystemMessage Method中加入判斷就可以了哦! 如下,

private async Task HandleSystemMessage(Activity message)
{
	if (message.Type == ActivityTypes.DeleteUserData)
	{
		// Implement user deletion here
		// If we handle user deletion, return a real message
	}
	else if (message.Type == ActivityTypes.ConversationUpdate)
	{
		if (message.MembersAdded.Any(o => o.Id == message.Recipient.Id))
		{
			var RootDialog_Welcome_Message = "你好,我是亂馬客,很高興為您服務,您可以輸入任何字來搜尋圖片,或是輸入 help 來顯示我可以做那些事 ^_^";
			var reply = message.CreateReply(RootDialog_Welcome_Message);

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

			await connector.Conversations.ReplyToActivityAsync(reply);
		}
	}
	else if (message.Type == ActivityTypes.ContactRelationUpdate)
	{
		// Handle add/remove from contact lists
		// Activity.From + Activity.Action represent what happened
	}
	else if (message.Type == ActivityTypes.Typing)
	{
		// Handle knowing tha the user is typing
	}
	else if (message.Type == ActivityTypes.Ping)
	{
	}
}

 

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^