iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 7
0
Modern Web

宅男的浪漫 - 用 .NET Core 打造 Line 婚禮聊天機器人經驗分享系列 第 7

有聲有色,傳送婚禮前導預告影片

第12 屆iT邦幫忙鐵人賽系列文章 (Day7)

上一篇我們用 ImageMessage 來傳送圖片,這一篇我們要來實作傳送婚禮的前導預告片 (回想起來那時候我怎麼那麼閒XD ),我當時自己是從淘寶買一些婚禮的影片範本,買回來用 Adobe Effect 來改,或者是網路上可能會有一些免費的 template 也是可以拿來應用

上傳 Video

Line VideoMessage 一樣要透過URL來發送,我們一樣傳到 Imgur,就能產生一個網址,這是我當時所購買的影片範本 https://i.imgur.com/n8QsXTk.mp4

定義 VideoMessage.cs

public class VideoMessage : IMessage

{

public LineMessageType Type => LineMessageType.video;

public string OriginalContentUrl { get; set; }

public string PreviewImageUrl { get; set; }

}

一樣在 OnMessageAsync 增加一個 前導影片 的實作

實作內容

public class WeddingTrailer : IReplyIntent

{

private readonly LineReplyMessageUtility lineMessageUtility;

private readonly LineProfileUtility lineProfileUtility;

public WeddingTrailer(LineReplyMessageUtility _lineMessageUtility, LineProfileUtility _lineProfileUtility)

{

lineMessageUtility = _lineMessageUtility;

lineProfileUtility = _lineProfileUtility;

}

public async Task ReplyAsync(string replyToken)

{

var imageMessage = new VideoMessage()

{

OriginalContentUrl = "https://i.imgur.com/n8QsXTk.mp4",

PreviewImageUrl = "https://i.imgur.com/oLvTjtu.png"

};

await lineMessageUtility.ReplyMessageAsync(replyToken, new List<IMessage> {

imageMessage

});

}

}

實作效果

實際上沒有回傳那麼慢,會是很順的,只是手機螢幕錄影時,我忘記我有在 Visual Studio 設中斷點,所以卡住了 QQ

AudioMessage

Line 也有提供聲音檔的 Message Type (AudioMessage),因為沒需求這篇就不實作了,但基本上很多程式都是共用的,所以只要:

  1. 定義AudioMessage的Class (JSON to C# Class)

  2. 增加 Intent 的 key

  3. 繼承我們自己定義的 IReplyIntent 介面,並實作 Audio 回覆內容

有啥限制嗎?

ImageMessage 在傳送的時候要注意有以下限制

  • URL 最大 1000 字元

  • 一定要是 HTTPS 且加密規範 TLS 1.2 以上

  • 檔案大小上限 200 MB

  • 如果太寬或太高的影片可能會有裁切掉的風險

懶人包,本次學到了什麼?

本篇文章同步發佈於我的 Medium 如果這篇文章對你有幫助,就大力追蹤和拍手鼓掌下去吧 !!


上一篇
環保愛地球,回傳電子喜帖
下一篇
一鍵導航婚宴地點辦在哪
系列文
宅男的浪漫 - 用 .NET Core 打造 Line 婚禮聊天機器人經驗分享30

尚未有邦友留言

立即登入留言