kkdai / blog

This is blog comment repo for https://www.evanlin.com/
0 stars 0 forks source link

create-your-line-bot-golang/ #44

Open kkdai opened 3 years ago

kkdai commented 3 years ago

[Go] 建立你自己的 Line 機器人 (Line Bot API)

http://www.evanlin.com/create-your-line-bot-golang/

kkdai commented 3 years ago

comment written by Fellni Somer, created at 26 Apr 16 09:52 UTC,

您好:
請問第三個步驟 "Enable Heroku Fixed IP service" 要如何操作
使用Fixie好像要付費的樣子
感謝!

kkdai commented 3 years ago

comment written by jimmykuo, created at 26 Apr 16 21:11 UTC,

你好,請問 heroku log 出現 bash: LineBotTemplate: command not found,要怎麼修正 ?

kkdai commented 3 years ago

comment written by Evan Lin, created at 27 Apr 16 00:31 UTC,

Heroku Profile error, fixed. Check https://github.com/kkdai/Li... for more detail.
Any further question welcome to gitter https://gitter.im/kkdai/Lin...

kkdai commented 3 years ago

comment written by 魔斌諸葛, created at 03 May 16 16:02 UTC,

您好, 請問全部做好後,輸入網址,出現以下訊息,是那裡要修正呢?拙學複製https://github.com/kkdai/Li... Application Error
An error occurred in the application and your page could not be served. Please try again in a few moments.
If you are the application owner, check your logs for details.

kkdai commented 3 years ago

comment written by Evan Lin, created at 04 May 16 00:38 UTC,

麻煩依照這篇文章上面的設定都需要.主要是環境變數那邊需要設定好.不然應用程式不會正常運作.

kkdai commented 3 years ago

comment written by 魔斌諸葛, created at 04 May 16 03:06 UTC,

您好,
請問環境變數是heroku的部份,還是Github那邊,設定都是照上面的步驟設定了,但仍然沒反應吔!!!
執行heroku logs -t,在LINE送出訊息時會出現以下訊息
at=error code=H10 desc="App Crashed" method=POST path="/callback" host=mobinlinebot.herokuapp.com request_id=33007d00-2952-dnc6-8203-f0a43cd12b90 fwd="203.104.146.69" dyno= connect= service= status=503 bytes=

kkdai commented 3 years ago

comment written by 魔斌諸葛, created at 04 May 16 03:30 UTC,

突然可以了,怪

kkdai commented 3 years ago

comment written by Evan Lin, created at 04 May 16 05:11 UTC,

太好了.. 有問題再跟我說

kkdai commented 3 years ago

comment written by 魔斌諸葛, created at 04 May 16 11:54 UTC,

怪問題, Fixie啟用, 反會消失, 然後就變浮動IP, 卻可以用(輸入whitelist)
但Fixed關閉,不會消失,有固定IP,卻無法使用,會出現以下 Log
at=error code=H10 desc="App Crashed" method=POST path="/callback" host=mobinlinebot.herokuapp.com request_id=33007d00-2952-dnc6-8203-f0a43cd12b90 fwd="203.104.146.69" dyno= connect= service= status=503 bytes=

kkdai commented 3 years ago

comment written by Evan Lin, created at 04 May 16 16:26 UTC,

目前line bot已經不強制whitelist 可以清空就不需要 Fixie

kkdai commented 3 years ago

comment written by Szu-Han Li, created at 14 Jun 16 12:18 UTC,

大大您好~我照您上面的步驟做下來
deploy 這份Git檔案上去 https://github.com/aszx8741...
Settings的Config Variable也設定好了

在Heroku open app時,發現報錯503:Failed to load resource: the server responded with a status of 503 (Service Unavailable)

請問是有哪邊做錯或還需要注意哪邊嗎!?

kkdai commented 3 years ago

comment written by wolkesau, created at 17 Jun 16 09:50 UTC,

你好:
我想問說:
line bot
可以主動通知嗎?
可以對單一好友發送嗎?
謝謝

kkdai commented 3 years ago

comment written by Evan Lin, created at 17 Jun 16 17:17 UTC,

可以,你可定期送出.只是你需要有對方的 ID,那個 ID 為Line 內部的流水號,不是 Line 的使用者帳號.所以該使用者至少需要對機器人發言一次,才能記住.

如果要寫出類似提醒或是 TODO 就是要如此(前提是你要有資料庫 )

kkdai commented 3 years ago

comment written by Evan Lin, created at 17 Jun 16 17:19 UTC,

建議直接查看 Heroku 官方文件察看為何你的 nodejs 會有 deploy 的問題. https://devcenter.heroku.co...

kkdai commented 3 years ago

comment written by 李宗亮, created at 23 Jun 16 08:20 UTC,

你好:
我已經全部照上面設定,沒有遇到任何問題
Line developers 那Callback URL verify 也 success了
為甚麼發送訊息仍然只會已讀不會回話呢?

先前就加過好友了,有需要刪掉重加嗎?

kkdai commented 3 years ago

comment written by Evan Lin, created at 24 Jun 16 07:37 UTC,

請檢查你的 Heroku 是否有加入應該加入的參數...

kkdai commented 3 years ago

comment written by tuirng.tw, created at 29 Jun 16 06:31 UTC,

我剛剛試heroku的結果
那個port要改成從env裡面抓
heroku會隨機指定一個port的樣子

這樣的話要改lib/line-bot.js裡的port
然後把lib/移出gitignore

希望有幫助到

kkdai commented 3 years ago

comment written by ycavatars, created at 12 Jul 16 16:18 UTC,

請問line bot建立好以後,是不是每個line的使用者都可以搜尋到這個bot?有沒有辦法隱藏,讓知道的人才能加這個bot? 謝謝

kkdai commented 3 years ago

comment written by Evan Lin, created at 19 Jul 16 07:57 UTC,

Line Bot 沒有辦法... 不過你可以試著訊息裡面加上一些認證.比如說要加上密碼才會理你

kkdai commented 3 years ago

comment written by Nick Shu, created at 21 Nov 16 16:02 UTC,

請問如果要達到像Line本身提供的自動回應,只是一個關鍵字可以設定多個回答,不知有沒有範例程式? 感謝

kkdai commented 3 years ago

comment written by Jing-Siang Chen, created at 07 Dec 16 14:40 UTC,

Evan 好,不好意思打擾您,我是前天有參與您於台大講座的敬翔
在拜讀您的文章後,目前已可以順利將您的 Template 佈到 Heroku 上頭
且 Line 也可以與之溝通,給了我很大的信心,感恩 ^_^

但我想進到下一步:將 Evan 相同的程式碼放在自己所申租的伺服器上時
一直發生錯誤而導致無法成功…

而在將 GO 轉到申租的伺服器上前,我做了以下的更動:

1、把 Evan 寫的程式碼 main.go 第 28 行的環境變數直接改成認證字串

bot, err = linebot.New("dac…4a7", "KP5…FU=")

2、執行 main.go 後,Visual Studio Code 的 Debug Console 上顯示的訊息如下:

2016/12/07 17:54:10 server.go:71: Using API v1
2016/12/07 17:54:10 debugger.go:65: launching process with args: [c:\GoPath\work\003. MyFirstLineBot\debug]
API server listening at: 127.0.0.1:2345
2016/12/07 17:54:10 debugger.go:397: continuing
2016/12/07 17:54:10 Bot: &{dac…4a7 KP5…FU= 0xc04205c280 0x7a5920} err: <nil>

3、開啟伺服器 Windows 防火牆的 80 與 443 埠

4、回到 Line Bot Dashboard 畫面,將 Webhook URL 指到伺服器的網址:

原來的網址:https://myfirstlinebot.hero...:443/callback (← 好像無法在 disqus 中正常顯示)
更改成:https://210.71.198.137:443/callback

5、按下 VERIFY 後卻出現:「Connect timeout.」的錯誤訊息

而不是 Youtube 影片 How to deploy LineBotTemplate 中 2:42 時的「Success.」訊息

6、後來以為是伺服器 Windows 防火牆擋住,決定將防火牆整個關掉,按下 VERIFY 後更出現下面的錯誤訊息:
「Failed to request by any reason.」

不曉得敬翔是哪裡做錯了…(也不曉得防火牆實際上應開啟哪一個埠…)

感謝 Evan 百忙中解惑
再次謝謝!

kkdai commented 3 years ago

comment written by Jing-Siang Chen, created at 08 Dec 16 03:32 UTC,

我發現好像跟憑證有關,因為自申租的伺服器走 HTTPS 卻沒有 SSL 憑證
(印象中 HTTPS 需要一個第三方認證單位)
如果真的是憑證,只能找看看有沒有免費的可以使用了
這樣就剩下防火牆要開哪一個 Port 的問題了…

kkdai commented 3 years ago

comment written by Evan Lin, created at 08 Dec 16 14:52 UTC,

Yes, 所以我選擇 heroku 內附免費 https

kkdai commented 3 years ago

comment written by Jing-Siang Chen, created at 11 Dec 16 14:38 UTC,

Evan 謝謝:)雖然自己申請憑證沒有成功
但是找到一個用 Go 寫的憑證神器 github.com/xenolf/lego
使用後輕鬆建立好可使用的憑證
運用了以下的免費工具:

1、Azure(Amazon)申租免費 VM。
2、FreeDNS 申請免費 Domain Name。
3、透過 lego 申請 Let's Encrypt 免費憑證。
4、外加 Evan 大寫好的 Go LineBot

就成功完成自建的 LineBot 了,這個是我做的筆記 ^^:
http://www.evernote.com/l/A...

註:網路上也有網友使用 ngrok 來解決臨時的 Domain Name 問題,但我就沒研究了。

感謝 Evan 大 ^_^

kkdai commented 3 years ago

comment written by otisray, created at 29 Jan 17 21:26 UTC,

我的怎麼怪怪的 https://uploads.disquscdn.c...

kkdai commented 3 years ago

comment written by 毛小祺, created at 13 Mar 17 02:42 UTC,

大大你好~ 我有照著你上方的教學實作了
但是在 Git Bash 要同步更新到 heroku的時候發生了一些問題

這是我輸入的指令~
$ git push heroku master

下面是更新失敗的 Log https://uploads.disquscdn.c...

我在網路上找了好久 試過很多種方法但都沒有解決問題 也不太了解這個問題發生的原因

不知道大大能否指點 一二 ?

kkdai commented 3 years ago

comment written by Evan Lin, created at 13 Mar 17 14:04 UTC,

1. 先將 git 裡面的 remote 改成你 heroku 的 git address
2. 重新 push

建議看看影片 https://www.youtube.com/wat...

kkdai commented 3 years ago

comment written by 詹可楊, created at 16 Mar 17 08:01 UTC,

大大輸入Webhook URL顯示連接超時要怎辦??

kkdai commented 3 years ago

comment written by Evan Lin, created at 20 Mar 17 04:08 UTC,

由於 heroku 的 service 會重啟,第一次會比較久.可以多試幾次.
如果還是有問題,建議查看是不是 https 有發生問題.... 或是透過 heroku log -t 來看狀況

kkdai commented 3 years ago

comment written by LittleJack 小克, created at 30 Mar 17 04:29 UTC,

> 填入剛剛從 Fixie 取得的靜態 IP

請問是哪裡?文章中好像沒提到?

另外
> 以下的資訊記得抄起來(也就是我圖片蓋掉的部分)
也沒有看到圖片

我猜是更新文章的時候跑掉了?

再麻煩指教,謝謝!

kkdai commented 3 years ago

comment written by Evan Lin, created at 30 Mar 17 14:56 UTC,

感謝指正:

1. Fixie 可以不用填... whitelist 的規則是,當空白就當作全部都允許.
2. (圖片蓋掉部分) 可以參考 Youtube

文章已經修改

kkdai commented 3 years ago

comment written by 楊子瑜, created at 24 Aug 17 07:55 UTC,

https://uploads.disquscdn.c... 前面回話的時候為什麼會有數字?

kkdai commented 3 years ago

comment written by Sandro Ku, created at 03 Oct 17 07:57 UTC,

您好~
請問一下,目前按照您上述步驟,都能正常work,不過要如何clone程式到我的PC來做修改?看不太懂,能否解說一下呢?
感謝

kkdai commented 3 years ago

comment written by Evan Lin, created at 03 Oct 17 08:16 UTC,

https://www.youtube.com/wat... 請看影片

kkdai commented 3 years ago

comment written by Sandro Ku, created at 03 Oct 17 08:52 UTC,

了解~再試試看,感謝您的回覆~~

kkdai commented 3 years ago

comment written by Lee Ting Rong, created at 10 Oct 17 04:59 UTC,

請問大大:我成功把它做出來,會自動回話(變應聲蟲)了,不過它是用golong語言嗎?我可以參考網路其它的範例,例如自動回答imgur貼圖的程式上傳上去嗎?(我的是Buildpack是gradle

kkdai commented 3 years ago

comment written by Evan Lin, created at 16 Oct 17 01:24 UTC,

可以.. 就直接 clone 之後修改直接發佈到你的 heroko git

kkdai commented 3 years ago

comment written by Evan Lin, created at 16 Oct 17 01:24 UTC,

直接 clone 之後修改直接發佈到你的 heroko git

kkdai commented 3 years ago

comment written by ChinChia Hu, created at 02 Nov 17 08:33 UTC,

您好,想請問一下,我deploy進入heroku後,我去clone Git下來,可是都無法取得Deploy上去的程式碼,那我該如何取得程式並進行修改?

kkdai commented 3 years ago

comment written by Evan Lin, created at 03 Nov 17 07:45 UTC,

1. git fork my project
2. modify remote to heroku git
3. modify and push to heroku git

kkdai commented 3 years ago

comment written by 陳冠霖, created at 15 Jan 18 11:21 UTC,

安安您好 我大部分已經照您的步驟做了 但還是有幾個地方用不明白
第一個:Callback URL: https://{YOUR_HEROKU_SERVER_ID}.herokuapp.com:443/callback
這個我已經點不近去
第二個 我的Webhook URL不知如何使用貼上去都說錯誤
第三個 我的lineDeveoper跟您的有些許不同 像是我沒有edit鍵
謝謝~

kkdai commented 3 years ago

comment written by Evan Lin, created at 18 Jan 18 17:32 UTC,

YOUR_HEROKU_SERVER_ID 是你的 Heroku app 名稱,記得要改.
記得看看影片,裡面有清楚教學...

kkdai commented 3 years ago

comment written by Jwang Jason, created at 03 Feb 18 16:15 UTC,

Webhook URL Requires SSL

https://rancedicetest.herok...:443/callback

The webhook returned an invalid HTTP status code. (The expected status code is 200.)

Verify
你好 請問網址這邊一直卡住釋出了什麼問題呢

kkdai commented 3 years ago

comment written by Pk Wang, created at 29 Mar 18 03:34 UTC,

您好 冒昧請教一下 應聲蟲功能已經成功 不過回話的時候 會把LINE流水號加在我打的字前面 字的後面會加上OK!
這部分應該到哪裡去修改呢?

kkdai commented 3 years ago

comment written by Jeff Fu, created at 26 Apr 18 03:07 UTC,

多謝分享

kkdai commented 3 years ago

comment written by Zong-han Xie, created at 15 May 18 07:41 UTC,

你好 請問你是用哪一支程式去透過網址開啟程式碼編輯? 我使用nodepad++ 但是我找不到能夠輸入網址開啟的地方

kkdai commented 3 years ago

comment written by ロリ控八控控, created at 24 May 20 18:54 UTC,

您好 我想請問一下 要如何刪掉除了我傳過去的訊息以外的內容呢