# Commander - DC 集合點名機器人
專案開發:Elantris
近期更新:2025-05-25
客服群組: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]
[](https://discord.com/api/oauth2/authorize?client_id=585706326970073089&permissions=8&scope=bot)
圖像設計:[yanlu233](https://www.twitch.tv/yanlu233)
[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
記錄有接聽目標語音頻道的所有成員。
**指令語法:**
- `/record`
- `/record mode:append`
**使用範例:**
1. 接聽語音頻道後點名:

> `/record` [color=#cc5de8]
**備註說明:**
- 請先接聽語音頻道
- 每天只會有一筆紀錄,同一天重複使用指令會覆蓋掉舊的紀錄
- 如果沒有要使用 `/report` 出席統計功能的話可以忽略這個特性
- 使用 append mode 時,更新紀錄不會移除中途離開的成員
### 出席統計 /report
統計一段時間內所有人的出席次數。
**指令語法:**
- `/report from: to:`
- `from`:起始日期
- `to`:截止日期
**使用範例:**
1. 統計 2023 年三月的出席狀況:

> `/report from:20230301 to:20230331` [color=#cc5de8]
2. 統計 2023 年四月 1 號當天的出席狀況:

> `/report from:20230401 to:20230401` [color=#cc5de8]
**備註說明:**
- 日期格式為 `YYYYMMDD`(西元年、月、日)
- 年份為四位數,例如 2023
- 月份為兩位數,範圍 01 ~ 12
- 日期為兩位數,範圍 01 ~ 31
- 統計日期區間最長為 31 天
- 這段時間有使用過 `/record` 指令才會有紀錄
- 今年是 2025 年、二月只有 28 天、六月只有 30 天
### 修改紀錄 /modify
修改指定日期的出席紀錄。
**指令語法:**
- `/modify date: action: users:`
- `date`:格式為 `YYYYMMDD` 的日期
- `action`:add 新增、remove 移除
- `users`:直接標記要調整的成員
**使用範例:**
1. 修改 2023/4/1 的出席紀錄,將某個成員補上出席紀錄

> `/modify date:20230401 action:add users:@成員A @成員B @成員C` [color=#cc5de8]
2. 修改 2023/4/1 的出席紀錄,將某些成員移出出席紀錄

> `/modify date:20230401 action:remove users:@成員A @成員B @成員C` [color=#cc5de8]
**備註說明:**
- 可以使用 `/record mode:append` 更新當日出席紀錄,在原先的出席名單中新增中途加入的成員,中途離開的成員不會被移除出席紀錄 (20250201)
### 參數設定 /config
修改機器人參數設定,使用指令時必須擁有「管理員」權限。
**指令語法:**
- `/config locale locale:`
變更機器人語言環境,預設為 `zh-TW`
- `locale`:語言環境
- `zh-TW`(正體中文)
- `en-US`(英文)
- `/config channels action: channel:`
設定點名頻道,使用 `/record` 指令時會紀錄有接聽點名頻道的所有成員,預設為指令使用者當下接聽的語音頻道
- `action`:
- `add` 新增
- `remove` 移除
- `channel`:指定一個語音頻道
- `/config roles roles:`
設定點名對象,點名時會列出擁有至少一個身份組的成員,預設為 `@everyone`(所有人)
- `roles`:標記一個或多個身份組
- `/config admin role:`
設定可以使用機器人指令的身份組,預設為擁有「管理員」權限的身份組
- `role`:指定一個身份組
**使用範例:**
1. 變更機器人語言:

> `/config locale locale:en-US` [color=#cc5de8]
2. 設定點名頻道為「閒聊大廳」,請選擇語音頻道:

> `/config channels action:add voice:#語音頻道` [color=#cc5de8]
3. 設定點名對象為「某個身份組」:

> `/config roles roles:身份組A` [color=#cc5de8]
4. 設定點名對象為「某些身份組」,設定的順序會影響點名時輸出的順序:

> `/config roles roles:身份組A 身份組B` [color=#cc5de8]
5. 設定點名對象為「所有人」(重設為預設值):

> `/config roles roles:@everyone` [color=#cc5de8]
6. 設定「某個身份組」可以使用所有 Commander 指令:

> `/config admin admin:@身份組C` [color=#cc5de8]
**備註說明:**
- en-US 的翻譯陸續更新中
- 設定點名頻道時每次使用指令只能加入或移除一個語音頻道
- 設定點名對象的 `role` 參數請直接標記身份組,可以同時設定多個身份組,會影響使用 `/record` 指令時的顯示順序