Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的工具

閱讀時間約 10 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!

LINE Bot製作流程

在我製作LINE Bot的過程中,我主要使用了以下四種工具和步驟。下方的內容將詳細介紹這些工具以及如何進行安裝。
  • Python : 撰寫程式的工具,我選擇使用「Python」作為我的主要語言,並配合「Visual Studio Code」作為開發環境。這部分完全可以根據大家各自的習慣選用不同的程式語言和工具,畢竟每種工具都有其優缺點,且使用起來的效果大同小異。
  • GitHub : 上傳和分享程式碼的地方。可能大多數寫程式的人都對它有所了解,你可以把它視為專用於儲存程式碼的 Google 雲端硬碟。一大特色是,GitHub 讓我們可以追蹤每一次的更新,假如想要回溯到舊版的程式碼,操作起來十分方便,因此深受開發者喜愛。
  • Heroku(已終止免費) : 一種雲端伺服器。當你離開電腦也想透過手機中的LINE進行操作,並分享LINE Bot給你的朋友時,Heroku的作用就顯現出來了。如果你選擇在本機端部署LINE Bot,那麼你必須一直讓電腦保持運行狀態,這顯然會消耗大量資源。與之相反,Heroku為使用者提供了512MB的免費儲存空間,而LINE Bot所需的儲存空間通常都不會太多,所以使用Heroku的免費版本就已經足夠了。因此,我會建議大家將程式碼部署到Heroku中進行使用。
  • Render: 與Heroku雷同,都是雲端伺服器,為替代Heroku免費專案終止的替代方案,一樣擁有512MB的免費儲存空間。
  • LINE DEV : LINE自身推出的「LINE Developer」。如其名所示,這個工具的主要功能就是讓我們能使用程式碼,並與LINE進行結合。正因如此,我們才有機會打造出自己專屬的LINE Bot。

安裝工具

Visual Studio Code

首先,請訪問 Visual Studio Code 的官方網站以進行下載。當你點進去後,系統將自動偵測你的作業系統版本,然後提供相對應的32位元或64位元版本供你下載。 因此,我們只需要直接點選「Download for Windows」即可。安裝過程非常簡單:按照指示進行,大致上只需要不斷點選「下一步」就可以順利完成安裝。
下載安裝完成VSCode後,將其開啟,按下「ctrl + shift + X」開啟延伸模組,接著在框框中輸入「Jupyter」進行查詢,會發現有很多跟 jupyter 相關的套件,我們選擇第一個Jupyter進行安裝。
※ 如果對英文介面不熟悉的人可以參考這篇文章: 一分鐘圖文教學 - 把VS Code切換成中文版
有了Jupyter還不夠,要在VS Code中開始撰寫Python程式碼,還需要指定Python的執行環境,這裡我推薦可以安裝Anaconda的環境,Anaconda包含大量科學套件、可創建、管理多個獨立的 Python 環境等諸多優點,對於新手來說是相當便利的執行環境。
想要在VS Code中使用Anaconda環境,只需要先輸入「ctrl + shift + P」,並且輸入「Python」,選擇「Python: Select Interpreter」,並選擇想要執行的環境。
※ 沒安裝過Anaconda的人可以看這篇 : 一分鐘圖文教學 - 快速安裝Anaconda
在一個想存放檔案的資料夾中創建一個「ipynb檔」,並且打開看一下右邊是否是剛剛創建的執行環境,如果不是就點選並選擇要使用的執行環境。

GitHub

接著要介紹的是 GitHub,這是所有程式設計師都必須熟知的一個平台。GitHub 不僅能儲存你的程式碼,而且也可以公開與他人共享。在工程師面試時,許多公司都會要求看你的 GitHub 內容,這樣他們就能知道你在程式設計上的研究與實作經驗。然而,GitHub 最厲害的地方在於它讓多個程式設計師能夠同時開發相同的專案,當大家都在寫程式碼時,他們可能會分工合作,但每個人的編程方式可能並不一樣,合併這些程式碼可能需要不斷的嘗試。有了 GitHub,大家可以一起上傳程式碼,並儲存每個版本的更新,避免合併失敗而無法還原到之前的版本。更厲害的是 GitHub 還能做版本分支,讓不同的版本可以同時存在。最重要的是,GitHub 是免費的,真的是每位工程師的寶藏庫!😍
今天,我們要先創建一個專案資料夾。首先,先進入到GitHub的網站中,如果你之前已經註冊過,那麼可以直接點選右上角的「sign in」 登入;如果你是新用戶,則請點選 「sign up」 進行註冊。註冊的過程非常簡單,因此我就不在這裡詳細介紹了。
github
註冊並登錄後,我們就要來創建一個專案,用意是為了存放我們的LINE Bot程式碼,因此,我們點選右上角的「+」,並選擇「New repository」來創建專案資料夾
要創建專案資料夾時,我們首先需要給專案一個名稱。隨後將該專案設定為「Private」,因為我們將與LINE進行串連,可能涉及到API和一些個人信息,因此我們盡可能不要將含有私人信息的資料公開,以防止他人濫用。接下來,請勾選「Add a README file」,這個功能允許你描述這個專案做了什麼,或者它有什麼功能,當我們的專案越來越多時,有時可能會忘記每個專案都在做些什麼,這時候 README 文件就很有用了。最後,點擊 「Create repository」來創建你的專案。
到這我們就成功創鍵好要上傳到GitHub的專案了。

Heroku(已終止免費)

接著我們來認識 Heroku。如果你已經擁有帳號,可以直接登入,如果你還未註冊,請點選右上角的 「Sign up」來進行註冊。
在註冊的最後三個欄位裡,有一些提示可以幫助你。首先,「Role」這個選項可以隨意選擇,它不會影響你未來使用 Heroku 的情況。 其次,「Country」請選擇 「Taiwan」。最重要的是,「Primary development language」請選擇 「Python」,這樣在未來部署我們的專案時,可以少一個步驟。另外,密碼的設置是有規則的,請務必確認你的密碼包含英文字母和數字,並且至少需要有一個字母為大寫。
註冊並登錄後,我們點選右上角的「NEW」,並點選「create new app」創建一個Heroku的雲端server。
在進入專案創建介面後,首先需要為我們的應用程式命名(App name),類似於創建遊戲ID一樣,你需要確保你的App name是唯一的,所以要不斷嘗試直到系統確認你的名稱可以使用。至於國家的選擇,實際上我們並沒有太多選擇,只有美國和歐洲兩個選項,但兩者都離我們相當遠,因此實際傳輸的速度差異並不大。最後,完成上述步驟後,點擊 「Create app」來創建你的專案。
如你所見,我已經創建了一個雲端伺服器,但你可能會注意到它顯示為 「zzz」或睡眠狀態。這是因為 Heroku 為免費用戶設定了每月550小時的使用限制,所以他們的系統會自動讓伺服器在一段時間未執行任何操作後進入休眠狀態。然而,不用擔心,每當你需要在 LINE 中使用你的程式時,Heroku 仍然會被喚醒,需注意的是,每次你喚醒 Heroku 時,可能需要等待大約10到20秒。另外,其實也有方法可以免費讓 Heroku 保持活躍且不超時。我們會在未來有機會時再行介紹這部分。
到此雲端server的創建也完成了。

Render

※ 2024/06/19更新
Heroku已經終止免費額度,在此為大家推薦另一個免費平台「Render」。第一次使用Render的使用者可以點選右上角的「Sing In」進行註冊。
Render提供可以快速註冊的方式,例如GitHub、Google等方式。而我們日後會將專案放到Github與Render串接,因此可以在此選擇GitHub進行註冊,日後在串接上會方便許多。
註冊完成後,因為我們要創建LINEBot,因此點選創建Web Services。
而我們是要跟GitHub進行串接,因此該步驟選擇左邊的「Build and deploy from a Git repository」。
進去後點選右邊的GiHub進行串接,串接成功便可在下方看到你在GitHub上的所有專案。目前就先做到該步驟,剩下佈署的部分等到專案上傳至GitHub後再教學。

LINE developer

最後,我們就是要來創建LINE developer,在這我們點選右上角的「log in」,並利用你平常使用的LINE帳密做登入。
登入以後,我們點選Providers旁的「Create」進行創建新的專案,該專案要取什麼名字都可以,這並不會顯示在line上
創建好以後,裡面一開始應該是空空的,先點選「Create a new channel」,並點選第二個「Messaging API」。
點選進去後,開始進行設定,有幾個比較需要注意的地方,以下是會顯示在Line中使用者看到的部分:
  • Channel icon: LINE中LINE Bot顯示的大頭圖片
  • Channel name: LINE中LINE Bot顯示的名稱
  • Channel description: LINE中LINE Bot顯示的介紹
創建好以後,就可以看到一個Messaging API的Channel了,目前先做到該步驟,剩下的後續需要串接時再進行教學。

總結

我們今天的準備工作已經基本完成。部署一個LINE Bot的過程可能牽涉到很多工具的學習,你可能沒有想到會是這樣。然而,只要多點練習,你也能越來越輕鬆地掌握各種工具,進而能夠靈活地製作出各式各樣的專有工具。在下一篇文章中,我們將會進一步介紹如何串接LINE Bot,並且帶大家一同製作一些簡單的回話程式。讓我們期待吧!
為什麼會看到廣告
158會員
58內容數
我出生於財務金融與資訊背景,滿20歲便開始踏入股市。從當初對股市一無所知的菜鳥,到現在成為一名專注於AI股市研究的分析師,這是我的成長歷程。   我崇尚彼得·林區所強調的理念,認為在生活和工作中觀察,從周遭環境中挑選出適合投資的股票,並搭配近期快速崛起的程式交易、大數據分析等AI技術,立志打造輕鬆又便利的投資之路。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
avatar
JoeC
2024-06-13
[Python]OS檔案操作在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
Thumbnail
avatar
螃蟹_crab
2024-06-08
[Python]解讀JSON解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
avatar
螃蟹_crab
2024-06-08
avatar
JoeC
2024-06-07
Python 基礎詳細原碼: https://reurl.cc/ex8lZm hello world Variable (變數) 輸入 input() 四則運算 列表 list (陣列) 集合 字典(Dictionary) 給值 try 檢驗 取所有值 判斷式 If else 迴圈 Switch //字典方式 CSV
avatar
吳佳鑫
2022-11-10
PYTHON 編譯器(IDE)介紹IDE是甚麼? IDE又叫做整合開發環境(Integrated Development Environment),在編輯程式碼時有許多的步驟,例如撰寫、編譯、除錯、執行......等過程,都是分開進行,但現在可以在同一個環境下開發,而使用的這些環境正是IDE。
Thumbnail
avatar
清蒸魚
2021-09-17
python+筆電相機 – 拍照儲存照片用python寫出應用筆電相機儲存照片。
Thumbnail
avatar
薰魚
2021-09-03
Python 學習的三個理由一天一課的上著網路上的 Python 課程。有朋友問說,為什麼要學 Python ?未來要作工程師嗎? 猶記得當時也是楞了一下,這個問題,有太多個表層與深層的回覆與想法。 充實隔離時光 最簡單的說法,其實就是想充實自己的隔離時間。當時在上海隔離(可以參見這一系列的隔離相關文:https://ma
Thumbnail
avatar
Jerome
2020-12-19
[Python][Selenium] Chrome Browser 與 Driver 惱人的版本管理畢竟~我是一個懶人嘛... 估狗之後,大部分的做法就是手動的去下載當前瀏覽器對應版本的 Driver,放到一個特定位置,將 Driver Binary 位置指向它。 在 Google Chrome About Page 你可以看到版本 接著去下載對應的 Chrome Driver ↓ 解決方案:
Thumbnail
avatar
Wis Chang
2020-01-15