line-bot-tutorial use python flask
教你建立自己的 line-bot 使用 python flask 📝
line-bot-tutorial use python flask
oop 版本可參考 line-bot refactor use oop (design pattern),此版本為 functional programming。
請先加入好友
我的 QRCODE
或是手機直接點選 https://line.me/R/ti/p/%40vbi2716y
認證記得請選 同意
精選功能
輸入任何文字即可開始玩
開始玩
新聞
apple news 即時新聞 ( 來源 http://www.appledaily.com.tw/realtimenews/section/new/ )
科技新報 ( Tech News ) 最新文章 ( 來源 https://technews.tw/ )
PanX泛科技 最新文章 ( 來源 https://panx.asia/ )
電影
近期上映的電影 ( 開眼電影網 ) ( 來源 http://www.atmovies.com.tw/movie/next/0/ )
eyny 電影版包含 Mega 以及 Google 標題的文章 ( 來源 http://www.eyny.com/forum-205-1.html )
觸電網 ( youtube 預告 )
看廢文
( 來源 http://disp.cc/b/PttHot )
即時八卦版廢文
( 來源 https://www.ptt.cc/bbs/Gossiping/index.html )
正妹
( 來源 https://www.ptt.cc/bbs/Beauty/index.html )
( 來源 ,自己的 imgur ,透過官方 api imgurpython 回傳圖片 )
( 來源 ,爬蟲 auto_crawler_ptt_beauty_image ,從資料庫取出圖片)
貼圖
如果傳任意貼圖,則會回傳任意有效貼圖 ( 目前我只有把官方 package_id 為 1 的 sticker_id 放在程式碼裡 ),
相關的 sticker_id 以及 package_id 可參考官網的 sticker_list.pdf。
希望這個 阿肥bot 能帶給大家歡樂,程式碼很多基本上就是簡單的爬蟲。
如果需要其他的功能,可以給小弟一點建議,我會盡量完成他。
油價查詢
分享 bot
如果你想要分享你的 bot 給別人,可以使用 https://line.me/R/nv/recommendOA/{LINE_id}
,
舉個例子,我的 bot 的 Line ID 為 @vbi2716y
,所以我就可以寫成如下,
https://line.me/R/nv/recommendOA/@vbi2716y
更多說明可參考 sharing-your-bot-account。
請先到 https://business.line.me/zh-hant/ 這裡登入自己
原本的 line 帳號,然後點選 Messaging API
接下來你會看到 開始使用Messaging API 以及 開始使用Developer Trial
在這裡我們選 開始使用Messaging API
這兩個差別在哪裡呢? 可以到同一個頁面的下方觀看,基本上就只是方案不同而已
接著就是一些設定,點選 選擇公司/經營者
點選 新增公司/經營者
填寫一些資料
line bot 的 大頭貼 以及 名稱 設定
設定完後,請選擇 申請
以上設定應該不會有什麼問題
請選擇 開始使用 API
請選擇 確認
這些請注意, 選擇 允許 ,然後記得 儲存
點選 Line Developers
你會進入下面這個畫面,在這個畫面中,有兩個東西很重要,分別是
Channel Secret
Channel Access Token
Channel Secret
Channel Access Token
如果你看到的是空的,請點選 ISSUE 就會顯示了
請將你的 Channel Secret 以及 Channel Access Token
貼到 config.ini 底下 ( 如不了解 .ini 的使用方法,可參考 configparser_tutorial )
[line_bot]
Channel_Access_Token = YOUR_CHANNEL_SECRET
Channel_Secret = YOUR_CHANNEL_SECRET
更多資訊可參考 line-bot-sdk-python
接下來因為 Line Bot 需要 SSL憑證 ( https ),所以我直接使用 Heroku
如果不知道什麼是 Heroku 以及它的使用方法
請參考我之前寫的 Deploying-Flask-To-Heroku
佈署
如上圖,我的網址是 https://python-ine-bot.herokuapp.com/
接著我們要加入 Webhook URL ,請點選 EDIT ,並且加入你自己的網址,網址格式
https://{你的網址}/callback
舉例,我的網址就是
https://python-ine-bot.herokuapp.com/callback
輸入完之後,可以按 VERIFY ,如果你的 CODE 正確無誤,就會顯示 Success
不過我使用 line-bot-sdk-python當我按下 VERIFY,卻出現錯誤,不過是可以正常運作,所以暫時先不管他。
關於上述這個問題,可以到 issues 2 以及 issues 3 觀看說明。( 感謝熱心的網友 )
基本上到這裡就是完成了,趕快去加入自己的 line bot 玩玩看吧~
只要我有新的想法,我會同步更新在這篇文章, line bot 還有很多好玩的地方
透過 imgur 官方 api imgurpython ,
從自己的相簿隨機回傳一張正妹照片,
請到下方獲取自己的 CLIENT_ID , CLIENT_SECRET , 以及自己相簿的 album_id
並將自己的資料輸入在下方程式碼
client_id = 'YOUR_IMGUR_CLIENT_ID'
client_secret = 'YOUR_IMGUR__CLIENT_SECRET'
album_id = 'YOUR_IMGUR_ALBUM_ID'
更多詳細的介紹可參考 imgurpython
只要有使用到網址,請記得一定都要用 https
舉例
image_message = ImageSendMessage(
original_content_url="https://example.com.img1.jpg",
preview_image_url="https://example.com.img1.jpg"
)
有一些東西是必須到 line 的官網去設定的,像是下方的選單
請到 https://admin-official.line.me/ 選擇自己的 bot ,然後開始設定,
建立圖片影音內容 -> 圖文訊息選單 ( 如下圖 )
顯示設定,請選擇 反映,不然會沒有效果
接著選擇樣式,
記得,選單內容設定 全部都要設定,不然會沒有效果
最後,那個主要兩個字非常礙眼 ( 如下圖 )
我們可以從這裡把它關掉
帳號設定 -> 基本設定
將 行動官網選單 設定為 隱藏 即可
有些人可能會遇到佈署失敗的問題,可以試著將 runtime.txt 修改為 3.9.13
( 這個只要依照提示更新就行了 )
如果遇到 Upgrading to the Latest Stack,只需要到 Heroku 上修正後,重新佈署即可,可參考
Upgrading to the Latest Stack 以及 Stacks,
更新 stack 指令
heroku stack:set heroku-22 -a <app name>
之後再 commit push 一次就會自動 migrate 到新的 stack.
因為 gunicorn 的更新,現在需要將 Procfile 多加上 --preload
,也就是變成
web gunicorn app:app --preload
詳細可參考 Advanced configuration。
文章都是我自己研究內化後原創,如果有幫助到您,也想鼓勵我的話,歡迎請我喝一杯咖啡:laughing:
MIT license