Skip to content

Commit c582448

Browse files
authored
Merge pull request #28 from kkdai/linebot-sdk8
chore: update line-bot-sdk-go to version 8.2.0 and replace linebot wi…
2 parents 618162c + f442637 commit c582448

File tree

3 files changed

+25
-14
lines changed

3 files changed

+25
-14
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ module github.com/kkdai/LineBotTemplate
33
// +heroku goVersion go1.21
44
go 1.21
55

6-
require github.com/line/line-bot-sdk-go/v7 v7.21.0
6+
require github.com/line/line-bot-sdk-go/v8 v8.2.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
github.com/line/line-bot-sdk-go/v7 v7.21.0 h1:eeYMuAwaDV5DZNTRqDipNhzjT51HwEcM1PRPG+cqh4Y=
2-
github.com/line/line-bot-sdk-go/v7 v7.21.0/go.mod h1:idpoxOZgtSd8JyhctMMpwg5LNgRAIL/QIxa5S0DXcMg=
1+
github.com/line/line-bot-sdk-go/v8 v8.2.0 h1:IFqwd3pKbA+o3pwV3nzamtWHt7n+ijSH3t/D8Q/vVQ0=
2+
github.com/line/line-bot-sdk-go/v8 v8.2.0/go.mod h1:n9Ly8OHM6xCeQktLzRpQHe/yBda95kFgmQUefUQeFCs=

main.go

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ import (
1919
"os"
2020
"strconv"
2121

22-
"github.com/line/line-bot-sdk-go/v7/linebot"
22+
"github.com/line/line-bot-sdk-go/v8/linebot"
23+
"github.com/line/line-bot-sdk-go/v8/linebot/webhook"
2324
)
2425

2526
var bot *linebot.Client
@@ -35,8 +36,7 @@ func main() {
3536
}
3637

3738
func callbackHandler(w http.ResponseWriter, r *http.Request) {
38-
events, err := bot.ParseRequest(r)
39-
39+
cb, err := webhook.ParseRequest(os.Getenv("ChannelSecret"), r)
4040
if err != nil {
4141
if err == linebot.ErrInvalidSignature {
4242
w.WriteHeader(400)
@@ -46,34 +46,45 @@ func callbackHandler(w http.ResponseWriter, r *http.Request) {
4646
return
4747
}
4848

49-
for _, event := range events {
50-
if event.Type == linebot.EventTypeMessage {
51-
switch message := event.Message.(type) {
49+
for _, event := range cb.Events {
50+
log.Printf("Got event %v", event)
51+
switch e := event.(type) {
52+
case webhook.MessageEvent:
53+
switch message := e.Message.(type) {
5254
// Handle only on text message
53-
case *linebot.TextMessage:
55+
case webhook.TextMessageContent:
5456
// GetMessageQuota: Get how many remain free tier push message quota you still have this month. (maximum 500)
5557
quota, err := bot.GetMessageQuota().Do()
5658
if err != nil {
5759
log.Println("Quota err:", err)
5860
}
5961
// message.ID: Msg unique ID
6062
// message.Text: Msg text
61-
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("msg ID:"+message.ID+":"+"Get:"+message.Text+" , \n OK! remain message:"+strconv.FormatInt(quota.Value, 10))).Do(); err != nil {
63+
if _, err = bot.ReplyMessage(e.ReplyToken, linebot.NewTextMessage("msg ID:"+message.Id+":"+"Get:"+message.Text+" , \n OK! remain message:"+strconv.FormatInt(quota.Value, 10))).Do(); err != nil {
6264
log.Print(err)
6365
}
6466

6567
// Handle only on Sticker message
66-
case *linebot.StickerMessage:
68+
case webhook.StickerMessageContent:
6769
var kw string
6870
for _, k := range message.Keywords {
6971
kw = kw + "," + k
7072
}
7173

72-
outStickerResult := fmt.Sprintf("收到貼圖訊息: %s, pkg: %s kw: %s text: %s", message.StickerID, message.PackageID, kw, message.Text)
73-
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage(outStickerResult)).Do(); err != nil {
74+
outStickerResult := fmt.Sprintf("收到貼圖訊息: %s, pkg: %s kw: %s text: %s", message.StickerId, message.PackageId, kw, message.Text)
75+
if _, err = bot.ReplyMessage(e.ReplyToken, linebot.NewTextMessage(outStickerResult)).Do(); err != nil {
7476
log.Print(err)
7577
}
78+
default:
79+
log.Printf("Unknown message: %v", message)
7680
}
81+
case webhook.FollowEvent:
82+
log.Printf("message: Got followed event")
83+
case webhook.PostbackEvent:
84+
data := e.Postback.Data
85+
log.Printf("Unknown message: Got postback: " + data)
86+
case webhook.BeaconEvent:
87+
log.Printf("Got beacon: " + e.Beacon.Hwid)
7788
}
7889
}
7990
}

0 commit comments

Comments
 (0)