API與機器人實作
今天我們將從簡單的API著手,試著與機器人融合
貓咪
這個API會隨機給你一張貓的圖片
設定請求
先使用上次的API測試文件,接著將URL設為https://api.thecatapi.com/v1/images/search
把requests.get()的params參數刪除,像這樣
因為這個API非常簡單,不需要指定任何參數
1 | response = requests.get(url=url).json() #params刪掉 |
解析回應
接著發出請求一次,你應該會看到類似的回應:
1 | [ |
id
: 圖片的idurl
: 圖片的url,你可以開啟看看width和height
: 圖片的寬和高
由於可以請求很多張,所以他的回應格式是一個清單,看最外層的中括號就可以知道了
還記得我們上次嘗試送出圖片嗎?
最後一小節的內容是:只要把圖片的url送出,就可以輕鬆送出圖片
今天我們就要利用這個方式來製作一個隨機貓咪圖片的指令
放到機器人裡面
先新增一個指令,可以叫randomcat或是你自己喜歡的,不需要參數
然後記得在最上方引入requests模組
接著在函數內定義url變數和請求,不知道怎麼打可以照搬下面的
1 |
|
此處我們可以知取得這個回應裡面,清單的第一項(也是唯一一項)
接著我們取裡面的url並且發出去
1 | image_url = response[0]["url"] |
這樣使用指令時,我們會從API取得隨機一張貓咪圖片的URL並發回給使用者超簡單吧
完整程式
1 |
|
小測驗
https://dog.ceo/api/breeds/image/random
這是一個隨機狗狗圖片的API
請試著做出發送隨機狗圖片的指令吧!
請記得之前教過的,每一家的回應格式不同,記得先看看回應長什麼樣子再拆解,直接沿用剛剛的cat是行不通的
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 Discord 機器人教學!