kkdai on master
upgrade to go 1.12.2 (compare)
kkdai on master
Add message quota (compare)
kkdai on master
update SDK (compare)
我遇到了一個新問題,我查了很久 GO 語言相關資料都找不到解法。
所以又來打擾 @kkdai XD
我找不到如何 依照字元樹或字串長度,進行切割字串成字串陣列
的方法
是這樣的我後來應用 LINE BOT 去查詢某些網頁文件內文,但部分文章的回應很長總字數超過 2000 字。
所以 LINE 的 API 會出現 Error log 說無法發送超過 2000 字的內容。
因為這樣,我想說那就在送出前用 GO 想辦法分割字串就好了。
超過多少字會自動切割,然後把切割後的部分都送出去。(反正 LINE API 可以允許一次回五個訊息)
或只送出一個分割後的字串也可以,其他內容請使用者上網站看。
但沒想到這麼難實作XD
我查半天都只有 依照某個分割符號來進行字串分割 囧
不曉得各位前輩有沒有遇過這種問題,後來都怎麼解的 QQ?
@kkdai 感謝建議!
我最近收到 LINE 他們寄奇怪的信,請問有寫 LINE BOT 的大家都這樣嗎?
Your LINE developers account will expire soon.
In order to extend the expiration date, please click this link.
Your account for logging in to the LINE developers site expires 60 days after the last authentication.
所以,這是 LINE 要所有的開發者,每兩個月回報一次存活狀態的意思囉?
@johnnick
https://github.com/hanzochang/linebot-sample
@kkdai Evan 您好,請問可是我靜態ip設完之後還是收不到echo,都要再heroku logs印出ip(浮動?)之後再去加入白名單才能收到echo,請問你知道我哪裡錯了嗎
就我在Line Bot 開發者網頁中點擊callback url 測試我Server是可以收的到訊息的
這部分怎麼會有訊息?
問一下有在 Heroku 部屬 Golang LINE BOT 的朋友
最近有發生什麼事情嗎?
我今天半夜突然發現我寫的幾隻 BOT 都不會動作
進去看 log 全都是這種
2017-02-28T23:44:28.584425+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=POST path="/callback" host={某某APP}.herokuapp.com request_id=~ fwd="IP" dyno= connect= service= status=503 bytes=
是不是代表 Golang 他們升級到 1.8 寫法也要變還是什麼的啊?
我是維持去年 11 月直接學習 @kkdai 的方式使用 BOT
部屬的參數只有改過 Procfile
跟 app.json
的 name
case *linebot.TextMessage:
clientText := strings.ToLower(message.Text)
if strings.Contains(clientText, "wifi") {
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("Today WiFi PassWord is [test20171005]")).Do(); err != nil {
log.Print(err)
} else {
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("You Said 「"+message.Text+"」")).Do(); err != nil {
log.Print(err)
}
}
}
for _, event := range events {
if event.Type == linebot.EventTypeMessage {
switch message := event.Message.(type) {
case *linebot.TextMessage:
clientText := strings.ToLower(message.Text)
if strings.Contains(clientText, "wifi") {
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("Today WiFi PassWord is [test20171005]")).Do(); err != nil {
log.Print(err)
} else {
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("You Said 「"+message.Text+"」")).Do(); err != nil {
log.Print(err)
}
}
}
case *linebot.StickerMessage:
if _, err = bot.ReplyMessage(event.ReplyToken, linebot.NewTextMessage("I don't know Sticker :(")).Do(); err != nil {
log.Print(err)
}
}
}
}