# Commander - DC 集合點名機器人 專案開發:Elantris 近期更新:2023-06-28 客服群組:https://discord.gg/Ctwz4BB 說明文件:https://hackmd.io/@eelayntris/commander 捐款贊助:[歐付寶贊助連結](https://p.opay.tw/HJBjG)、[歐付寶贊助留言](https://payment.opay.tw/Broadcaster/Donate/1BEFCDA40776A351240A352244F8A10D) 邀請連結: - [管理員權限](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=8&scope=bot):如果你不知道該怎麼設定權限又很信任開發者的話請點這個連結 - [基本權限](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=274877959168&scope=bot):使用這隻機器人指令所需要的基本權限 - [空白權限](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=0&scope=bot):這個連結不會建立預設身份組,需自行設定機器人權限 - 檢視頻道 - 傳送訊息和建立貼文 - 在討論串和貼文中發送訊息 - 嵌入連結 - 附加檔案 > 集合的時間到囉! [name=Commander#5787][color=#cc5de8] [![commander](https://i.imgur.com/i4p83UJ.png)](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=8&scope=bot) 圖像設計:[yanlu233](https://www.twitch.tv/yanlu233) ###### tags: `discord` `admin` `commander` [TOC] --- ## 功能特色 透過指令快速紀錄「當前有接聽語音頻道」的伺服器成員、統計一段時間內所有人的出席次數。適合集合時間到了要紀錄有出席的成員,例如線上課程的點名、線上遊戲公會戰等情境。 1. 透過邀請連結將機器人 [`Commander#5787`](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=8&scope=bot) 加進伺服器 2. 給予機器人需要的權限,至少要有「檢視頻道」、「發送訊息」、「嵌入連結」等權限,如果你懶得設定這些且願意相信開發者的話,也可以直接給予這個機器人「管理員」的權限 3. 加入[開發群組](https://discord.gg/Ctwz4BB)查看機器人更新資訊或回報使用問題,有想要的功能也歡迎提供建議 (加一下啦,讓我知道有人在用這個機器人嘛 (´・ω・\`) 如果你需要的情境是文字訊息的簽到點名機器人請參考 [Attention Please](https://hackmd.io/@eelayntris/attention-please) ## 指令說明 - 支援斜線指令 - 以下指令語法中後面有冒號的單字是「參數」 - 可以複製指令語法後貼到 DC 訊息輸入框,再選擇對應的機器人指令 - 記得開啟 Discord 設定查看指令提示 - 「文字 & 圖片」 - 「在打字時預覽表情符號、提及以及 markdown 語法」 - 為了避免閒雜人等竄改紀錄,使用 Commander 指令的成員必須擁有「管理員」權限,可以使用指令 `/config admin role:@身份組` 允許指定的身份組使用 Commander 指令。 ### 點名記錄 /record 記錄有接聽目標語音頻道的所有成員。 **指令語法:** 1. `/record` **使用範例:** 1. 接聽語音頻道後點名: ![](https://i.imgur.com/HWvZSXw.png) **備註說明:** - 請先接聽語音頻道 - 每天只會有一筆紀錄,同一天重複使用指令會覆蓋掉舊的紀錄,如果沒有要使用 `/report` 出席統計功能的話可以忽略這個特性 ### 出席統計 /report 統計一段時間內所有人的出席次數。 **指令語法:** 1. `/report from: to:` - `from`:起始日期 - `to`:截止日期 **使用範例:** 1. 統計 2023 年三月的出席狀況: ![](https://i.imgur.com/0y1PcoO.png) > `/report from:20230301 to:20230331` 2. 統計 2023 年四月 1 號當天的出席狀況: ![](https://i.imgur.com/1E2VOqo.png) > `/report from:20230401 to:20230401` **備註說明:** - 日期格式為 `YYYYMMDD`(西元年、月、日) - 年份為四位數,例如 2023 - 月份為兩位數,範圍 01 ~ 12 - 日期為兩位數,範圍 01 ~ 31 - 統計日期區間最長為 31 天 - 這段時間有使用過 `/record` 指令才會有紀錄 - 今年是 2023 年、二月只有 28 天、六月只有 30 天 ### 修改紀錄 /modify 修改指定日期的出席紀錄。 **指令語法:** - `/modify date: action: users:` - `date`:格式為 `YYYYMMDD` 的日期 - `action`:add 新增、remove 移除 - `users`:直接標記要調整的成員 **使用範例:** 1. 修改 2023/4/1 的出席紀錄,將某個成員補上出席紀錄 ![](https://i.imgur.com/O5GwbJD.png) > /modify date:20230401 action:add users:@成員A @成員B @成員C 2. 修改 2023/4/1 的出席紀錄,將某些成員移出出席紀錄 ![](https://i.imgur.com/Zsjv2kv.png) > /modify date:20230401 action:remove users:@成員A @成員B @成員C **備註說明:** ### 參數設定 /config 修改機器人參數設定,使用指令時必須擁有「管理員」權限。 **指令語法:** 1. `/config locale locale:` 變更機器人語言環境,預設為 `zh-TW` - `locale`:語言環境 - `zh-TW`(正體中文) - `en-US`(英文) 2. `/config channels action: channel:` 設定點名頻道,使用 `/record` 指令時會紀錄有接聽點名頻道的所有成員,預設為指令使用者當下接聽的語音頻道 - `action`: - `add` 新增 - `remove` 移除 - `channel`:指定一個語音頻道 3. `/config roles roles:` 設定點名對象,點名時會列出擁有至少一個身份組的成員,預設為 `@everyone`(所有人) - `roles`:標記一個或多個身份組 4. `/config admin role:` 設定可以使用機器人指令的身份組,預設為擁有「管理員」權限的身份組 - `role`:指定一個身份組 **使用範例:** 1. 變更機器人語言: ![](https://i.imgur.com/jyMD8C6.png) > `/config locale locale:en-US` 2. 設定點名頻道為「閒聊大廳」,請選擇語音頻道: ![](https://i.imgur.com/FmxCADq.png) > `/config channels action:add voice:#語音頻道` 3. 設定點名對象為「某個身份組」: ![](https://i.imgur.com/uB7w1hl.png) > `/config roles roles:身份組A` 4. 設定點名對象為「某些身份組」,設定的順序會影響點名時輸出的順序: ![](https://i.imgur.com/HSf0iYg.png) > `/config roles roles身份組A 身份組B` 5. 設定點名對象為「所有人」(重設為預設值): ![](https://i.imgur.com/JXP5eYV.png) > `/config roles roles:@everyone` 6. 設定「某個身份組」可以使用所有 Commander 指令: ![](https://i.imgur.com/FAe9fkO.png) > `/config admin admin:@身份組C` **備註說明:** - en-US 的翻譯陸續更新中 - 設定點名頻道時每次使用指令只能加入或移除一個語音頻道 - 設定點名對象的 `role` 參數請直接標記身份組,可以同時設定多個身份組,會影響使用 `/record` 指令時的顯示順序