---
# System prepended metadata

title: 程式檔案架構

---

# 程式檔案架構 
-	src/guess.py: 猜數字遊戲 
-	src/todo_list.py: TODO list (待辦清單) 
-	src/picture.py : 圖片上傳 
-	src/currency.py : 外匯匯率 
-	src/weather.py : 衛星雲圖 
-	src/covid.py : COVID-19 人數統計 

# 使用的模組 
-	io, os, re, random, csv, datetime 
-	pickle, requests, bs4, discord 
-	matplotlib.pyplot, skimage, numpy 
# 指令及功能介紹 
## guess: 猜數字 
-	使用者可以進行猜數字遊戲 o 遊戲規則：使用者可以猜一個由不重複 1-9 組成的四位數字，猜對會回應幾 A 幾 B，代表： 
    - A - 猜對數字及位置 
    - B - 猜對數字但位置錯誤 
- 輸入指令 $nAnB 開始遊戲，之後直接輸入所猜的數字 
- 隨時輸入 Leave 可結束遊戲 

## todo_list: 待辦清單 

- 一個方便好用的待辦清單 
- 	四種功能的指令： 
    1.	新增 - $add <date> <label> <item> 
        - 依照參數新增一個新的待辦事項到清單上 
                - date 代表 月/日 的日期，如 06/24 
                - label 代表該待辦事項的標籤，可以作為分類使用 
                - item 代表該待辦事項的文字，不限長度 
    2.	消除 - $done <date> <label> <item> 
        - 把一個待辦事項消除（標示為已完成） 
    3. 顯示 - $show [label] 
        - 列出所有目前的待辦事項，會貼心地依照日期排序 
        - 可以輸入參數 label 代表只顯示指定 label 內的待辦事項 
    4. 清除 - $clear 
        - 清除所有待辦清單上的事項 
        - 可能適用於一次完成所有事情或要重新安排時間的情況 

## picture: 圖片上傳 

- 給使用者上傳圖片，儲存之後提供下載 
- 可用指令:
    -	$upload - 上傳圖片在並送出時輸入指令便可以上傳 
    -	$show_pic - 秀出圖片給使用者 
    -	$analysis_pic - 秀出RGB色層分析直方圖給使用者 
    -	$upload_pic - 下載指定網址中的圖片給使用者 

## currency: 外匯匯率 

- 抓取玉山銀行網頁的外國貨幣即時匯率資料 
-	依照貨幣別，每個貨幣會有「即期匯率」、「網路銀行/App 優惠匯率」、「現金匯率」等匯率類別，每種匯率再分成「買入」跟「賣出」兩種價格。
-	可用指令： 
     -	$all_rates - 一次列出所有貨幣的全部匯率 
     -	$curr_list - 列出所有可以查詢的貨幣名稱及代號 
     - $rates <cur> - 顯示單一貨幣的匯率 
        - cur 代表選定的匯率代號，可以用 $curr_list 查詢。 
        
## weather: 衛星雲圖 
-	輸入指令 $weather 可以顯示最新一筆從中央氣象局網頁抓取 24 小時內的衛星雲圖 
    - 可以增加參數來調整時間
- 以 $weather [Y] [M] [d] [H] [M] 查詢指定時間的衛星雲圖 
    -	Y 代表年分（西元），M 代表月份，d代表日期，H 代表 24 時制的幾點，M 代表幾分 
    - 貼心提醒：分鐘數會無條件捨去到以 10 分鐘整為單位。 
    - 如果該時間還沒有衛星雲圖發布，有可能會顯示前一天的。 
- 輸入指令 $weather_radar 可以顯示最新一筆從中央氣象局網頁抓取 24 小時內的雷達回波圖。
    - 可以增加參數來調整時間： 
- 以 $weather_radar [H] [M] 查詢指定時、分的雷達回波圖 
    - H 代表 24 時制的幾點，M 代表幾分 
    - 貼心提醒：分鐘數會無條件捨去到以 10 分鐘整為單位。 如果該時間還沒有雷達回波圖發布，有可能會顯示前一天的。 
- 從中央氣象局網頁抓取 72 小時內的雨量圖 	輸入指令 $weather_rainfall 可以顯示最新一筆
    - 可以增加參數來調整時間： 
- 以 $weather_rainfall Today [H] [M] 查詢指定時、分的雨量圖 
    -  H 代表 24 時制的幾點，M 代表幾分 
    - 貼心提醒：分鐘數會無條件捨去到以 30 分鐘整為單位。 如果該時間還沒有雨量圖發布，有可能會顯示前一天的。 
    - 可以增加參數來調整時間： 
- 以 $weather_rainfall [day] 查詢指定日期或累計日期的雨量圖 
    -	Day 為Yesterday or The_day_before_yesterday or 1_day_before or  2_days_before 
    - 貼心提醒：前日及累積雨量圖發布時間較晚。一般而言更新平率約為一小時一次，如果該時間還沒有雨量圖發布，有可能會顯示前一天的。 
## covid: COVID-19 統計資訊 
- 從疾管署資料 API 抓取最新的 COVID-19 人數統計資訊，包括總確診、解除隔離、死亡、送驗、排除人數，以及昨日確診、昨日送驗、昨日排除 
     - $covid－抓取並顯示統計資料 
- 從疾管署資料 API 抓取最新的全球 COVID-19 人數統計資訊  包括各國家總確診、死亡 
    - $covid_global - 抓取並顯示統計資料 
	- $covid_global_analysis - 分析各國統計資料，彙整結果 
- 從疾管署資料 API 抓取最新的 COVID-19 確診者資訊。包括年齡、性別、是否為境外移入、病例數、時間、人數 
	- $covid_patients－抓取並顯示統計資料 
	- $covid_patients_analysis - 分析各國統計資料，彙整結果 
 
