# Line Bot + Django 學生成績查詢系統 # Abstract 此篇教學快速讓您設定一個 Line 機器人。設定完成之後你只要把成績放到Google試算表,就可以讓學生查詢他自己的成績。 ## 原理簡述 - 學生透過 Line 機器人跟你設定的網站進行註冊。 - 你在Google試算表填入學生成績,而且包含「學號」的欄位。 - 妳將該試算表連結放進網站後台。 - 驗證通過的 Line 帳號可以透過他註冊的學號查詢他自己的成績。 ## 你會需要使用 - Replit - Google 試算表 - Line Bot ## 注意 - Replit 免費版的話別人可以看到你的程式碼。 - Replit 免費版過一段時間會自動休眠,送指令後過幾秒會重新啟動。 - 有心人士可以取得你後台的資料。所以請確保後台沒有放入重要資料。 - Google 表單請設定為透過連結可以檢視。 - 驗證帳號可以預設為通過,但要注意可能有學生打錯或故意填他人學號。 - 本教學僅供學術交流、個人使用。並請自負使用後的任何責任。 # 使用方式 - 學生 ## 查詢使用方式 ``` .usage ```  ## 註冊 只有第一次使用需要註冊。 ``` .register 學號 ```  ## 查詢成績 成績代碼由老師給,每個試算表貼到後台的時候會有一組。 ``` .score 成績代碼 ``` - 已開通,有填代碼  - 若還沒註冊  - 若還沒開通  - 若已開通但是沒填代碼  # 使用方式 - 老師 這邊寫的是設定完成之後的使用, 第一次設定請先往下拉到設定的地方。 ## Google 試算表 - 請到Google試算表建立你的成績冊。 - 欄位一定要有「學號」,用來當作索引的。 - 欄位請「不要重複」。 - 設定共用,知道連結者可以檢視,並複製連結。 ## 後台 - 到你的 /admin 登入 - 點擊 Score configs  - 將剛剛試算表的連結貼到 `url` - Title: 給學生顯示的標題 - Code: 自動生成,不要改變它 - Exclude field: 妳試算表中不想要顯示給學生的欄位。用逗號或是頓號隔開皆可  - 設定好後按 SAVE ## 驗證帳號 - 點擊 Students - 你會看到一堆 學生學號 - 名稱 - 看誰還沒驗證通過,點他 - 把 is verified 打勾  - 如果有其他資料需要更改也可以改。但記得不要改 user id,這個是 Line 的 user id - 改好按 SAVE ## 預設帳號驗證通過 你可以到 `score_bot/models.py`把False改成True,這樣預設會是通過。很方便,但請自行注意會不會有人故意輸入其他人的學號。  # 設定 只有第一次使用或你想更改設定的時候會需要看這裡。 以下妳需要: - 註冊 [Replit](https://replit.com),可以用 Google 登入。 - 有一個 Google 帳號,假設大家都有,不贅述。 - 有一個 Line 帳號,畢竟我們要做一個 Line 機器人。 - 到 Line Bot 建立你的機器人。 - Line Notify (optional) 可以讓你看到別人對你的機器人說了什麼,不一定要使用。 ## Start with Line Bot - 到 [Line 開發者網站](https://developers.line.biz/zh-hant/?status=success),右上角登入 - 第一次使用應該需要按 Create 來創立一個 Provider  - 點你創立好的 Provider,新增一個新的 channel。你會需要填些有的沒的,應該看了就會,這裡不贅述。  - 進去之後到 Basic Settings 有個 channel secert ,如果沒有出現就按旁邊的 Issue。這個等等用到。  - 到 Basic Settings 旁邊的 Messaging API 拉到最下面,有一個 Channel access token。按 Issue ,這個等等用到。 ## Replit - 先到 Replit 建立一個帳號,建議 Google 登入。 - 進到我的 [Line bot 專案頁面](https://replit.com/@kyle1228/myscorebotdemo?v=1) - 到 Consloe 輸入 ```bash= python import secrets secrets.token_urlsafe(32) ``` 並且把結果複製下來。  - 點左方 Sercert,將 Key 設定為 `SECRET_KEY`,value 設定為剛剛的結果。  - 到 Console 輸入 `python manage.py createsuperuser`,這邊是設定你的管理者帳號。 - 設定完成之後按下 RUN (也有可能他自己開始跑了) - 到 Webview 的地方按右上角,他會用新視窗開啟。  - 把網址複製起來,以我的為例:`https://myscorebotdemo.kyle1228.repl.co/` - 在後面增加 admin,妳就可以登入後台了。 - 在後面增加`score_bot/callback'`,以我的為例:`https://myscorebotdemo.kyle1228.repl.co/score_bot/callback` - 貼到 Line Bot 設定頁面中的 Messaging API 的 Webhook URL。 - 按一下 Verify 看有沒有成功。 - 下方 User Webhook 打開。 - 完成!到這邊設定結束。當然你可以在 Line Bot 設定頁面小研究一下,可以進行一些設定。但不影響功能,這裡不贅述。 - 設定頁面有個 QR Code,可以把你的機器人加進 Line 囉!
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up