使用 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:從零開始的軟體開發生活」
請大家繼續支持 ^_^