## 前言 - Noghtbot 的指令限制為500字以下 - 這使得太複雜的指令較難實踐 - 舉例來說,以下是會回答今天吃什麼的指令 - 因為清單無法無限延長,因此食物列表無法自由的增加 ```js 今天吃 $(eval a=[ `肉鬆蛋餅`,`鳳梨披薩 PizzaTime corgiJPOP `,`牛肉麵`,`炒飯`,`壽司`,`義大利麵`,`蔥油餅`,`臭豆腐`,`大香蕉 corgiBNN `,`鴨肉飯`,`水果全餐`,`乾麵`,`麻醬麵`,`羊肉燴飯`,`麥當勞`,`肯德基`,`漢堡王`,`美墨炸雞`,`鹹酥雞`,`麻辣燙`,`皮蛋豆腐`,`香菜一把`,`熱狗`,`雞排 KappaPride`,`火鍋`,`烤全雞`, "炒飯", "拉麵", "水餃", "火鍋", "蒙古烤肉", "牛肉麵", "燴飯", "小籠包", "泡麵", "烤肉飯", "炒河粉", "綠咖哩雞飯", "石鍋拌飯", "蛋包飯", "陽春麵", "大阪燒", "麥當勞", "焗烤飯", "涼麵", "叉燒飯", "排骨酥麵", "咖喱飯", "丼飯", "水煎包", "熱炒店", "義大利麵", "排骨便當", "鰻魚飯", "墨西哥捲餅", "滷肉飯", "土"]; a[Math.floor(Math.random()*a.length)]) ``` - 以下內容可以解決*資料*過大,但*邏輯*簡單的狀況 ## 步驟 ### 將資料放上雲端 - 請點[這個連結](https://gist.githubusercontent.com/YourName0729/3561eac282e7f0a6055dfe341675acc5/raw/e5f59ee74a954fb7e76fc080883d48ebfa418c22/food.json),可以發現我們的作法是把*資料*放到雲端 - 註冊[Github Gist](https://gist.github.com/),這是一個免費的短資料儲存網站 - 登入後可以看到以下畫面 - ![image](https://hackmd.io/_uploads/H1QfIJ-7A.png) - `Filename`的部分填入`food.json` - 有`1`的大區塊填入`["肉鬆蛋餅","鳳梨披薩 PizzaTime corgiJPOP ","牛肉麵","炒飯","壽司","義大利麵","蔥油餅","臭豆腐","大香蕉 corgiBNN ","鴨肉飯","水果全餐","乾麵","麻醬麵","羊肉燴飯","麥當勞","肯德基","漢堡王","美墨炸雞","鹹酥雞","麻辣燙","皮蛋豆腐","香菜一把","熱狗","雞排 KappaPride","火鍋","烤全雞","炒飯", "拉麵", "水餃", "火鍋", "蒙古烤肉", "牛肉麵", "燴飯", "小籠包", "泡麵", "烤肉飯", "炒河粉", "綠咖哩雞飯", "石鍋拌飯", "蛋包飯", "陽春麵", "大阪燒", "麥當勞", "焗烤飯", "涼麵", "叉燒飯", "排骨酥麵", "咖喱飯", "丼飯", "水煎包", "熱炒店", "義大利麵", "排骨便當", "鰻魚飯", "墨西哥捲餅", "滷肉飯"] ` - 這段可以任意擴充,但需要注意格式 - 每個選項用**雙括號**包起來,不可以是` - 最前和最後要有中括弧 - 選項間要有逗點,最前和最後不用 - 右下綠色的部分向下箭頭點開,選擇`Create Public Gist` - 點擊`Create Public Gist` - 之後會看到以下畫面 - ![image](https://hackmd.io/_uploads/r1-Vv1bXR.png) - 點擊右上角的`Raw`,複製此時的網址 - 以我的狀況,格式應如下`https://gist.githubusercontent.com/xxx/yyy/raw/zzz/food.json` - 準備好這個網址,接下來會用到 ### 修改Nightbot指令 - Nightbot有特別提供從網路上取得資料的指令,見此[參考](https://docs.nightbot.tv/variables/urlfetch) - 若使用其中的`$(urlfetch json url)`指令,則沒有字數限制,以達到我們的目的 - 接下來的做法和**前言**的那段指令很像,只是現在該清單由網路上取得,而非直接打在指令裡 - 具體作法如下 - `!editcom !吃啥 $(eval let a = $(urlfetch json https://gist.githubusercontent.com/YourName0729/3561eac282e7f0a6055dfe341675acc5/raw/e5f59ee74a954fb7e76fc080883d48ebfa418c22/food.json); a[Math.floor(Math.random()*a.length)])` - 裡面的網址請更換成上一步驟自己取得的網址 - 直接用我的也可以,但用自己的未來就可以自由修改清單