目前還活著的群組專用Ktor聊天機器人XD
3年前使用 ktor
的起心動念是因為群組需要訊息通知功能
,例如:
當然,這類自動化功能的版本不少,像是 py, js...也是可以很迅速地做出一樣的功能
既然在
Kotlin
群組,不如就用Ktor
寫一個機器人,感覺就是比較溫暖啊~
好的,群組有兩個:LINE
& Telegram
,就各生一個機器人寶寶吧~接下來呢?新手爸媽教戰手冊:
筆者只補充一些會用到的更新(不過如果看倌們從來都沒看過上面這兩份API的話,那就全部都是新的XD)
(圖片來源:LINE 官網)
最右邊的 quote messages
就是最近才更新的功能,這功能在 9月14日之前 都是 真人限定,現在呢?
You can now send quote messages from your LINE Official Account and receive quote messages sent by users via webhook.
看到這裡,應該還是會有一半的人會看得 霧煞煞,那就直接送個訊息給機器人:
從機器人視角會看到什麼?
{
"destination": "**************************",
"events": [
{
"type": "message",
"message": {
"type": "sticker",
"id": "12345678987654321",
"quoteToken": "這裡會有一串落落長的亂碼~",
"stickerId": "539913890",
"packageId": "21128927",
"stickerResourceType": "STATIC",
"keywords": [
"Cat",
"Knocked out",
"Lazy",
"Chilling"
]
},
"webhookEventId": "01HBDA3FX51NVJBYMCXPA1397B",
"deliveryContext": {
"isRedelivery": false
},
"timestamp": 1695885147680,
"source": {
"type": "user",
"userId": "****************************"
},
"replyToken": "22111ec87ed64871a31b2d53e7631839",
"mode": "active"
}
]
}
收到 user 的訊息時,在 events 的 message 裡面會多了一個 quoteToken
,就是用來指定訊息個別回覆用的
(圖片來源:Enable webhook redelivery)
跟 quoteToken 一樣,原本都是 活人限定 的功能
https://developers.line.biz/en/news/2023/03/08/messaging-api-updated/
Reference.