Discord 對話機器人製作全記錄(四)

增加機器人的腦容量

在上一篇,我們讓機器人能夠回應我們,但如果我們有多個關鍵詞要回應,我們需要一個東西來裝他的回應及觸發的關鍵詞。在這篇文章,我們使用 MongoDB Atlas 線上資料庫來存取我們的回應及關鍵詞。

初始化資料庫

進到 MongoDB Atlas 官網 後,按下圖右上角的 Try Free 註冊帳號。

按下 Create an Organization ,然後照步驟設定

接著會跳出下圖,一樣按下 New Project ,然後照步驟設定

最後會跳出下圖,做完這個,你就會擁有一個資料庫了,一樣按下 Build Cluster ,然後照步驟設定

新增完資料庫需要等待1~3分鐘系統初始化,結束後會看到下圖畫面

點選左側選單中的 Database Access ,點選 Add New Database User ,設定使用者帳號密碼

點選左側選單中的 Network Access ,點選 Add IP Address

點選 ALLOW ACCESS FROM ANYWHERE 後,按下 Confirm

這樣我們就成功設定好資料庫了

連接資料庫

確認資料庫URL

點選下圖中的 CONNECT

接著,依下圖指示操作

將 mongodb+srv://<url> 記起來等等會用到

使用 MongoDB API

安裝 mongopy (因為網址有srv所以要安裝mongo[srv])

1
pip install pymongo[srv] pymongo

接著,新增檔案 database.py,這個檔案只是要測試是否有連接到資料庫

在 database.py 寫入下列程式碼:

1
2
3
4
5
6
7
8
9
10
11
from pymongo import MongoClient
mongoClinet = MongoClient(<database_url>) # 連結到資料庫
db = mongoClient['bot-db']
collection = db['aaa'] # 進入Collection,若原本沒有則會自行新增

print('connected')

post = {"foo":"bar"}
collection.insert_one(post) # 插入資料

print(collection.find_one()) # 將資料從資料庫印出

這時,我們確定可以正常連接到資料庫,下一篇,我們就可以將資料庫連結到機器人。