今天要介紹的是訊息格式 Message Types,前面已經介紹過 Flex 和 Template,今天就跳過這兩個,來看 Line Bot 還可以傳送哪些訊息內容給使用者。
Message Types:
官方文件: message-types
text
來源官方文件: #text-message
程式碼:
var message = new TextMessage(
$"{Char.ConvertFromUtf32(0x10005C)} Text Message");
await _messagingClient.ReplyMessageAsync(ev.ReplyToken,
new List<ISendMessage> { message });
結果:
官方提供的貼圖才能使用 Line 貼圖清單。
sticker
來源官方文件: #sticker-message
程式碼:
var stickerMessage = new StickerMessage("11538", "51626519");
結果:
image
HTTPS
、JPEG
、最大解析度 4096 x 4096
、大小限制 1MB
。HTTPS
、JPEG
、最大解析度 240 x 240
、大小限制 1MB
。來源官方文件: #image-message
程式碼:
var imageMessage = new ImageMessage(
"https://xxxxx/image1.jpg",
"https://xxxxx/image2.jpg");
結果:
video
HTTPS
、mp4
、最長 1 分鐘
、大小限制 10MB
。HTTPS
、JPEG
、最大解析度 240 x 240
、大小限制 1MB
。來源官方文件: #video-message
程式碼:
var videoMessage = new VideoMessage(
"https://xxxxx/video.mp4",
"https://xxxxx/image.jpg");
結果:
audio
HTTPS
、m4a
、最長 1 分鐘
、大小限制 10MB
。來源官方文件: #audio-message
程式碼:
var audioMessage = new AudioMessage(
"https://xxxxx/audio.mp3", 45000);
結果:
location
來源官方文件: #location-message
程式碼:
var locationMessage = new LocationMessage(
"我家地址", "台中市潭子區潭子火車站", 24.212890M, 120.705579M);
結果:
最後一個 Imagemap 直接看文件有點難理解它的用途,簡單說就是我們可以在一張圖片上,用座標畫出幾個區塊,當使用者點擊區塊時執行某些動作。
imagemap
# 圖片說明
# 動作說明
baseUrl/{image width}
組成,不能有副擋名。圖片寬度 | 網址 |
---|---|
240px | https://xxx/image/240 |
300px | https://xxx/image/300 |
460px | https://xxx/image/460 |
700px | https://xxx/image/700 |
1040px | https://xxx/image/1040 |
動作類型有兩個 uri
和 message
。
uri
uri
。http
、https
、line
、tel
。#區域物件
。message
message
。#區域物件
。{
"type": "imagemap",
"baseUrl": "https://xxxxx/image",
"altText": "Imagemap Message",
"baseSize": {
"width": 1040,
"height": 1040
},
"actions": [
{
"type": "message",
"text": "A",
"area": {
"x": 0,
"y": 0,
"width": 520,
"height": 520
}
},
{
"type": "uri",
"linkUri": "https://xxxxx/link",
"area": {
"x": 520,
"y": 0,
"width": 520,
"height": 520
}
}
]
}
來源官方文件: #imagemap-message
程式碼:
var imagemapMessage = new ImagemapMessage(
"https://github.com/fysh711426/ithelp/raw/master/IronMan/Day13/images",
"Imagemap Message",
new ImagemapSize(1040, 1040),
new List<IImagemapAction>
{
new MessageImagemapAction(
new ImagemapArea(0, 0, 520, 520), "A"),
new MessageImagemapAction(
new ImagemapArea(520, 0, 520, 520), "B"),
new MessageImagemapAction(
new ImagemapArea(0, 520, 520, 520), "C"),
new UriImagemapAction (
new ImagemapArea(520, 520, 520, 520),
"https://ithelp.ithome.com.tw/users/20106865/articles")
});
結果:
還有另一個功能,可以在 Imagemap 圖片上方播放影片。
HTTPS
、mp4
、最長 2 分鐘
、大小限制 10MB
。HTTPS
、JPEG
、最大解析度 240 x 240
、大小限制 1MB
。如果想要在影片播放結束後顯示超連結,可以加上這兩個屬性。
http
、https
、line
、tel
。程式碼:
var imagemapMessage = new ImagemapMessage(
"https://github.com/fysh711426/ithelp/raw/master/IronMan/Day13/images",
"Imagemap Message",
new ImagemapSize(1040, 1040),
new List<IImagemapAction>
{
new MessageImagemapAction(
new ImagemapArea(0, 0, 520, 520), "A"),
new MessageImagemapAction(
new ImagemapArea(520, 0, 520, 520), "B"),
new MessageImagemapAction(
new ImagemapArea(0, 520, 520, 520), "C"),
new UriImagemapAction (
new ImagemapArea(520, 520, 520, 520),
"https://ithelp.ithome.com.tw/users/20106865/articles")
},
video: new Video(
"https://xxxxx/video.mp4",
"https://xxxxx/image.jpg",
new ImagemapArea(160, 280, 720, 480),
new ExternalLink(
"https://ithelp.ithome.com.tw/users/20106865/articles", "超連結")
));
結果:
下一篇要介紹「按鈕」或「圖文選單」可以觸發的動作類型 Action Objects。
今天就到這裡,感謝大家觀看。 (´・ω・`)