• Stars
    star
    286
  • Rank 144,690 (Top 3 %)
  • Language
    Python
  • Created almost 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

line-bot-tutorial use python flask

line-bot-Tutorial

教你建立自己的 line-bot 使用 python flask 📝

line-bot-tutorial use python flask

oop 版本可參考 line-bot refactor use oop (design pattern),此版本為 functional programming。

執行畫面

請先加入好友

我的 QRCODE

alt tag

或是手機直接點選 https://line.me/R/ti/p/%40vbi2716y

alt tag

認證記得請選 同意

alt tag

功能

精選功能

alt tag

輸入任何文字即可開始玩

alt tag

開始玩

alt tag

新聞

alt tag

蘋果即時新聞

apple news 即時新聞 ( 來源 http://www.appledaily.com.tw/realtimenews/section/new/ )

alt tag

科技新報

科技新報 ( Tech News ) 最新文章 ( 來源 https://technews.tw/ )

alt tag

PanX泛科技

PanX泛科技 最新文章 ( 來源 https://panx.asia/ )

alt tag

電影

alt tag

近期上映電影

近期上映的電影 ( 開眼電影網 ) ( 來源 http://www.atmovies.com.tw/movie/next/0/ )

alt tag

eyny

eyny 電影版包含 Mega 以及 Google 標題的文章 ( 來源 http://www.eyny.com/forum-205-1.html )

alt tag

觸電網-youtube

觸電網 ( youtube 預告 )

alt tag

看廢文

alt tag

近期熱門廢文

( 來源 http://disp.cc/b/PttHot )

alt tag

即時廢文

即時八卦版廢文

( 來源 https://www.ptt.cc/bbs/Gossiping/index.html )

alt tag

正妹

alt tag

PTT 表特版 近期大於 10 推的文章

( 來源 https://www.ptt.cc/bbs/Beauty/index.html )

alt tag

來張 imgur 正妹圖片

( 來源 ,自己的 imgur ,透過官方 api imgurpython 回傳圖片 )

alt tag

隨便來張正妹圖片

( 來源 ,爬蟲 auto_crawler_ptt_beauty_image ,從資料庫取出圖片)

alt tag

貼圖

如果傳任意貼圖,則會回傳任意有效貼圖 ( 目前我只有把官方 package_id 為 1 的 sticker_id 放在程式碼裡 ),

相關的 sticker_id 以及 package_id 可參考官網的 sticker_list.pdf

alt tag

希望這個 阿肥bot 能帶給大家歡樂,程式碼很多基本上就是簡單的爬蟲。

如果需要其他的功能,可以給小弟一點建議,我會盡量完成他。

油價查詢

alt tag

分享 bot

如果你想要分享你的 bot 給別人,可以使用 https://line.me/R/nv/recommendOA/{LINE_id}

舉個例子,我的 bot 的 Line ID 為 @vbi2716y,所以我就可以寫成如下,

https://line.me/R/nv/recommendOA/@vbi2716y

alt tag

更多說明可參考 sharing-your-bot-account

教學

請先到 https://business.line.me/zh-hant/ 這裡登入自己

原本的 line 帳號,然後點選 Messaging API

alt tag

接下來你會看到 開始使用Messaging API 以及 開始使用Developer Trial

在這裡我們選 開始使用Messaging API

alt tag

這兩個差別在哪裡呢? 可以到同一個頁面的下方觀看,基本上就只是方案不同而已

alt tag

接著就是一些設定,點選 選擇公司/經營者

alt tag

點選 新增公司/經營者

alt tag

填寫一些資料

alt tag

line bot 的 大頭貼 以及 名稱 設定

alt tag

alt tag

設定完後,請選擇 申請

alt tag

以上設定應該不會有什麼問題

請選擇 開始使用 API

alt tag

請選擇 確認

alt tag

這些請注意, 選擇 允許 ,然後記得 儲存

alt tag

點選 Line Developers

alt tag

你會進入下面這個畫面,在這個畫面中,有兩個東西很重要,分別是

  • Channel Secret

  • Channel Access Token

Channel Secret

alt tag

Channel Access Token

如果你看到的是空的,請點選 ISSUE 就會顯示了

alt tag

請將你的 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

佈署

alt tag

如上圖,我的網址是 https://python-ine-bot.herokuapp.com/

接著我們要加入 Webhook URL ,請點選 EDIT ,並且加入你自己的網址,網址格式

https://{你的網址}/callback

舉例,我的網址就是

https://python-ine-bot.herokuapp.com/callback

alt tag

alt tag

輸入完之後,可以按 VERIFY ,如果你的 CODE 正確無誤,就會顯示 Success

alt tag

不過我使用 line-bot-sdk-python當我按下 VERIFY,卻出現錯誤,不過是可以正常運作,所以暫時先不管他。

alt tag

關於上述這個問題,可以到 issues 2 以及 issues 3 觀看說明。( 感謝熱心的網友 )

基本上到這裡就是完成了,趕快去加入自己的 line bot 玩玩看吧~

只要我有新的想法,我會同步更新在這篇文章, line bot 還有很多好玩的地方

使用 imgur 官方 api

透過 imgur 官方 api imgurpython ,

從自己的相簿隨機回傳一張正妹照片,

請到下方獲取自己的 CLIENT_ID , CLIENT_SECRET , 以及自己相簿的 album_id

alt tag

並將自己的資料輸入在下方程式碼

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 的官網去設定的,像是下方的選單

alt tag

請到 https://admin-official.line.me/ 選擇自己的 bot ,然後開始設定,

建立圖片影音內容 -> 圖文訊息選單 ( 如下圖 )

alt tag

顯示設定,請選擇 反映,不然會沒有效果

alt tag

接著選擇樣式,

記得,選單內容設定 全部都要設定,不然會沒有效果

alt tag

最後,那個主要兩個字非常礙眼 ( 如下圖 )

alt tag

我們可以從這裡把它關掉

帳號設定 -> 基本設定

alt tag

將 行動官網選單 設定為 隱藏 即可

alt tag

Heroku 注意事項

有些人可能會遇到佈署失敗的問題,可以試著將 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

執行環境

  • Python 3.9

Reference

Donation

文章都是我自己研究內化後原創,如果有幫助到您,也想鼓勵我的話,歡迎請我喝一杯咖啡😆

alt tag

贊助者付款

License

MIT license

More Repositories

1

docker-tutorial

Docker 基本教學 - 從無到有 Docker-Beginners-Guide 教你用 Docker 建立 Django + PostgreSQL 📝
Python
1,315
star
2

Git-Tutorials

Git-Tutorials GIT基本使用教學📝
845
star
3

django-rest-framework-tutorial

Django-REST-framework 基本教學 - 從無到有 DRF-Beginners-Guide 📝
Python
780
star
4

django-tutorial

Django 基本教學 - 從無到有 Django-Beginners-Guide 📝
Python
436
star
5

docker-django-nginx-uwsgi-postgres-tutorial

Docker + Django + Nginx + uWSGI + Postgres 基本教學 - 從無到有 ( Docker + Django + Nginx + uWSGI + Postgres Tutorial )
Python
404
star
6

docker-swarm-tutorial

Docker Swarm 基本教學 - 從無到有 Docker-Swarm-Beginners-Guide📝
Python
185
star
7

linux-note

主要是紀錄一些 linux 的指令📝
171
star
8

django-shop-tutorial

Use Django To Create A Simple Shopping Site Tutorial
Python
143
star
9

docker-django-nginx-uwsgi-postgres-load-balance-tutorial

實戰 Docker + Django + Nginx + uWSGI + Postgres - Load Balance -Tutorial 📝
Python
103
star
10

odoo-demo-addons-tutorial

學習 odoo , 本文章會持續更新
Python
102
star
11

docker-elk-tutorial

docker-elk-tutorial + django + logging
Python
99
star
12

Deploying-Flask-To-Heroku

Deploying a Flask App To Heroku Tutorial
CSS
95
star
13

DRF-dataTable-Example-server-side

DataTables Example (server-side) - Python Django REST framework
HTML
92
star
14

python-notes

Python Study Notes 📝
Python
89
star
15

vscode_python_note

教大家如何建立自己的 Visual Studio Code Python 開發環境 📝
Python
86
star
16

odoo-docker-tutorial

利用 docker 快速建立 odoo 環境
Dockerfile
73
star
17

django_social_login_tutorial

Django Social Login Tutorial
Python
65
star
18

PttAutoLoginPost

PTT自動登入發文(Python)
Python
62
star
19

django-celery-tutorial

Django Celery Tutorial
Python
59
star
20

CORS-tutorial

Use Django To Introduce CORS and Same-Origin Policy
Python
53
star
21

facebook-messenger-bot-tutorial

facebook-messenger-bot-tutorial use Python Django
Python
51
star
22

CSRF-tutorial

Use Django To Introduce CSRF and Cookies , Session 📝
Python
49
star
23

django-chat-room

chat-room 💬 use django-channels3
Python
49
star
24

docker-django-celery-tutorial

docker-django-celery-tutorial 基本教學 📝
Python
45
star
25

django-docker-redis-tutorial

django-docker-redis-tutorial 📝
Python
41
star
26

Flask-Login-example

Login register facebook Login - Python Flask
Python
40
star
27

django-transactions-tutorial

django-transactions-tutorial 基本教學 - 了解 transactions 概念 📝
Python
39
star
28

odoo-development-environment-tutorial

建立 odoo 開發環境 ( source code )
36
star
29

auto_crawler_ptt_beauty_image

Auto Crawler Ptt Beauty Image Use Python Schedule
Python
36
star
30

line-bot-imgur-tutorial

透過 imgur api 製作簡單 line bot
Python
36
star
31

django-channels2-tutorial

django-channels2 tutorial 💬
Python
33
star
32

Gulp-Beginners-Guide

Gulp 基本教學 - 從無到有 Gulp-Beginners-Guide
JavaScript
31
star
33

fluent-python-notes

Fluent Python Study Notes 📝
Python
27
star
34

nginx-rtmp-tutorial

Docker Nginx 搭配 RTMP HLS 建立簡易直播 Server
XSLT
26
star
35

docker-letsencrypt-django-nginx-proxy-uwsgi-postgres

Docker + Letsencrypt + Django + Nginx-Proxy + uWSGI 教學
Python
26
star
36

Flask-Babel-example

How Use Flask-Babel on Windows - Python Flask
Python
25
star
37

leetcode-python

LeetCode use Python 📝
Python
24
star
38

chat-room

Chat-Room Use Python Socket.IO
CSS
24
star
39

Deploying_Django_To_Heroku_With_Docker

How Deploying Django To Heroku With Docker ( tutorial )
Python
23
star
40

Deploying_Django_To_Heroku_Tutorial

Deploying a Django App To Heroku Tutorial
Python
22
star
41

django-field-tutorial

Django ORM and Relationship Field OneToOneField , ForeignKey ,ManyToManyField 📝
Python
22
star
42

leaflet-tutorials-interesting

leaflet tutorials interesting use Python Flask
JavaScript
22
star
43

django_rest_framework_swagger_tutorial

django rest framework swagger tutorial
Python
22
star
44

python-pdfkit-example

python-pdfkit HTML TO PDF Example
C
19
star
45

vscode_django_note

如何使用 VScode 執行 Django 📝
Python
19
star
46

mybot

使用Hubot建立屬於自己的機器人 (Build Your Own Robot With Hubot)
CoffeeScript
18
star
47

PttImageSpider

PTT 圖片下載器 (抓取整個看板的圖片,並用文章標題作為資料夾的名稱 ) (使用Scrapy)
Python
18
star
48

youtube-trends-spider

crawler youtube trends use selenium on python
Python
18
star
49

ptt_beauty_infinite_scroll

結合 Django + jQuery 實現無限捲軸 Infinite Scroll 📝
CSS
17
star
50

PttAutoPush

PTT自動推文 推文機器人(Python)
Python
15
star
51

crawler_click_tutorial

click tutorial ( crawler ) use python
Python
15
star
52

google_play_store_spider

抓取 google play store 資料 use Scrapy on python
Python
15
star
53

django-translation-tutorial

How to use Django to implement translations 📝
Python
14
star
54

eynyCrawlerMega

eyny 電影 Mega and Google 連結爬蟲 use python
Python
14
star
55

python-creation-of-virtual-environments

如何使用 venv 建立 virtual environments 📝
14
star
56

docker-remote-interpreter

Using Docker as a Remote Interpreter ( Pycharm )
Python
13
star
57

Flask-Mail-example

Flask-Mail - 使用 Python Flask 完成寄信功能
Python
11
star
58

django_middleware_tutorial

介紹 django 中的 middleware
Python
11
star
59

Google-Play-Store-spider-bs4-excel

Google-Play-Store-spider use Beautiful Soup on Python to EXCEL
Python
10
star
60

flask-dropzone-wavesurfer

python flask-dropzone-wavesurfer 使用Python Flask 搭配 Dropzone.js 和 WaveSurfer.js
CSS
10
star
61

github-actions-tutorial

Python
10
star
62

twtrubiks

9
star
63

line-bot-oop

line-bot refactor use oop (design pattern)
Python
9
star
64

django_recaptcha_tutorial

django recaptcha tutorial
Python
8
star
65

Google-Play-Store-spider-selenium

Google-Play-Store-spider use Selenium +Beautiful Soup on Python
Python
8
star
66

PttStatistics

統計PTT看板推文 or 文章標題 熱門關鍵詞 on python
Python
8
star
67

PayPal_flask

PayPal example use Python Flask
JavaScript
7
star
68

movie-crawler

簡易爬蟲 抓取 開眼電影網 近期上映電影 使用Node.js
JavaScript
7
star
69

Thank-you-for-donate

感謝您對 https://github.com/twtrubiks 以及 youtube 教學頻道 的支持 👍
6
star
70

postgresql-note

主要是紀錄一些 postgresql 的指令
Python
6
star
71

dowload-Image-PTT

PTT圖片下載器 (C# WinForm) For Windows
C#
6
star
72

face-recognition-notes

紀錄 face-recognition 學習
6
star
73

PttCrawlerContent

PTT Crawler Content on python PTT文章爬蟲
Python
5
star
74

docker-selenium-tutorial

docker-selenium-tutorial use pyhton
Python
5
star
75

Flask-Migrate-Tutorial

透過 Flask-Migrate-Tutorial 管理資料庫 (database)
Python
5
star
76

mood-note

5
star
77

k8s-tutorial

Kubernetes tutorial
5
star
78

pillow-examples

some pillow examples use python
Python
4
star
79

python-EXIF-Orientation

Automatically determine whether the photo has been rotated, if it is rotated, the photo is turned right
Python
4
star
80

Croppic-combine-Carousel-Example

Croppic 搭配 Carousel 簡單範例 ,使用 Python Flask
JavaScript
3
star
81

aglio_tutorial

aglio tutorial
HTML
3
star
82

Bower-Beginners-Guide

Bower 基本教學 - 從無到有 Bower-Beginners-Guide
3
star
83

Deploying-Flask-To-OpenShift

Deploying a Flask App To OpenShift Tutorial 📝
3
star
84

docker-pgadmin4-tutorial

利用 docker 快速建立 pgadmin4、Linux install pgadmin4
2
star
85

Stripe_flask

Stripe Use Python Flask
JavaScript
2
star
86

Install_Ubuntu_on_HyperV_tutorial

Windows 透過 Hyper-V 安裝 Ubuntu 18.04
2
star
87

django_N_add_1_queries_problem_tutorial

Django N+1 Queries Problem
Python
1
star
88

Sort-String-To-SQL

Sort String To SQL For Python 📝
Python
1
star
89

AKBGroup_SongList_Flask

AKBGroup_SongList_Flask ( AKB48Group點歌單 )
HTML
1
star
90

Power-Auto-Shutdown

Computer Power-Auto-Shutdown ( 電腦自動排程軟體 ) C# WinForms applications
C#
1
star
91

summernote_Nestable_flask

summernote Combine Nestable Python Flask
JavaScript
1
star
92

AKBGroup_SongList

AKBGroup_SongList ( AKB48Group點歌單 )
HTML
1
star