Discord 機器人
在私訊中和角色一對一聊天,或把角色放進伺服器,並決定誰能和它們聊天、由誰付費。
Reverie 機器人把角色帶到 Discord 的兩個地方:你和機器人的私訊,用來一對一聊天;以及伺服器頻道,每個角色都以自己的名稱和頭像發言。每個和角色聊天的人,都需要一個已連結自己 Discord 帳號的 Reverie 帳號——免費帳號就夠了——而每一則回覆都會以點數計費,記在某個 Reverie 帳號上。
連結你的帳號
一個 Discord 帳號只能對應一個 Reverie 帳號。以下任何一種方式都能將兩者連結:
- 從整合主控台。 在應用程式中前往實驗室 → Discord 與 Telegram 機器人,在 Discord 卡片上按透過 Discord 連結。在 Discord 上確認後,就會直接回到原頁面。
- 使用 Discord 登入。 使用 Discord 登入 Reverie 時,也會一併連結機器人——除非你曾在主控台上取消連結,這樣它會維持未連結狀態,直到你自己再次連結。
- 從 Discord。 在伺服器中或在你和機器人的私訊中執行
/link-account。回覆只有你看得到:一個連結我的帳號按鈕,只能使用一次,10 分鐘後失效。開啟它並登入,兩個帳號就連結起來了。
在私訊中一對一聊天
直接傳私訊給機器人,或在任何有這個機器人的伺服器中執行 /chat——對話會移到你的私訊中,只有你看得到。單獨使用 /chat 會列出可選的角色;加上名稱則可以搜尋角色。
- 一次一個角色。
/chat可以換成其他角色,/chats會列出你在私訊中聊過的角色。每個角色都保有自己的對話,所以換回來時可以接著上次的進度聊。 - 每則訊息都會得到回覆,由機器人發出,回覆上方會以小字標示角色的名稱。圖片、語音訊息和記憶的運作方式都和在頻道中一樣。
- 你自己的訊息由你付費。 伺服器的付費模式和上限在這裡不適用。
- 18+ 角色依照你帳號的 18+ 設定:設定關閉時,這些角色會被隱藏,也無法在你的私訊中聊天。
/remove-character會結束目前的對話——對話會保存下來,可以從/chats找回——/reset-chat則會在請你確認後清除對話。- 在
/settings的子指令中,只有model、language和chat-style適用於私訊。
如果機器人表示無法傳訊息給你,請在 Discord 的隱私設定中允許來自伺服器成員的私訊,然後再試一次。你最近的私訊對話也會出現在整合主控台的私人聊天下,按在網頁版繼續就能在瀏覽器中接著聊。
把機器人加入伺服器
邀請機器人
在整合主控台的 Discord 卡片上按將機器人加入伺服器,然後選擇一個伺服器。請保留所有要求的權限勾選——下方表格說明了每一項權限的用途。機器人加入後,會在伺服器顯示加入訊息的地方,發布一則簡短的入門說明。
把角色加入頻道
在文字頻道中執行 /add-character,從自動完成清單中選一個角色——公開角色和你自己的私人角色都包含在內。你需要 Manage Channels(管理頻道)權限和一個已連結的帳號。機器人會建立一個 webhook,讓角色能以自己的名稱發言,然後發送一則問候。
設定規則
選填。/settings 決定頻道中的角色如何回覆、由誰付費;/server 則決定到底誰能和它們聊天。兩者在下方都有說明。
邀請時要求的權限
| 權限 | 要求的原因 |
|---|---|
| View Channels | 讀取使用機器人的頻道 |
| Send Messages | 發布回覆和指令的輸出 |
| Manage Messages | 當觸發角色回覆的訊息被刪除時,一併移除角色的回覆 |
| Embed Links | 指令輸出和社群抽獎公告都是嵌入內容 |
| Manage Roles | 在 Reverie 官方伺服器中發放社群抽獎使用的身分組 |
| Manage Webhooks | 必要。 角色是透過各自的 webhook 發言的 |
沒有 Manage Webhooks 權限時,/add-character 會失敗,角色也不會被加入。
指令
在伺服器中,標示 Manage Channels 或 Manage Server 的指令只會提供給擁有該 Discord 權限的成員。帳號類和管理類指令的回覆只有你看得到。
| 指令 | 選項 | 使用位置 | 功能 |
|---|---|---|---|
/help | — | 伺服器、私訊 | 私下列出所有指令 |
/link-account | — | 伺服器、私訊 | 發布一個一次性連結,用來連結你的 Discord 和 Reverie 帳號 |
/chat | name(選填) | 伺服器、私訊 | 在私訊中選擇或切換角色。在伺服器中使用時,會把選項傳送到你的私訊 |
/chats | — | 伺服器、私訊 | 你在私訊中聊過的角色,可在它們之間切換 |
/add-character | name(必填) | 伺服器 · Manage Channels | 把角色加入這個頻道並打招呼 |
/remove-character | name(必填) | 伺服器 · Manage Channels、私訊 | 移除角色並刪除它的 webhook。在私訊中則會結束目前的對話 |
/list-characters | — | 伺服器 | 列出這個頻道的角色,每個角色都附有移除按鈕 |
/character-info | name(必填) | 伺服器、私訊 | 簡介、圖片、年齡、性別、評分、分類、標籤和 NSFW 標記,並附上角色頁面的連結。若已連結帳號,在你收到該角色的幾則回覆、且它開放評價後,還會提供 1–5★ 按鈕讓你為角色評分 |
/reset-chat | — | 伺服器 · Manage Channels、私訊 | 刪除頻道的訊息和摘要,並回報刪除的數量。在私訊中則會在你確認後清除目前的對話 |
/regenerate-reply | model(選填) | 伺服器、私訊 | 重新生成角色的上一則回覆,也可以只在這次改用其他模型 |
/reply-suggestions | — | 伺服器、私訊 | 以按鈕呈現三則建議回覆;點一下就會以你的訊息送出 |
/settings | 一個子指令(必填) | 伺服器、私訊 | 頻道設定和個人設定 |
/plugins | 一個子指令(必填) | 伺服器、私訊 | 顯示這裡正在執行的插件;安裝、移除或開關官方插件和你自己的插件 |
/server | — | 伺服器 · Manage Server 或付費方 | 誰能和角色聊天、每位成員的每日上限、已封鎖的成員,以及用量 |
/my-account | — | 伺服器、私訊 | 點數、方案用量、續訂日期、聊天數 |
/daily | — | 伺服器、私訊 | 領取每日簽到 |
/notify | — | 伺服器、私訊 | 角色能否主動傳訊息給你,以及哪些通知會送到你的私訊 |
/plugins 接受 list、install、remove、enable 或 disable。只會提供官方插件和你自己的插件,而且僅限提示詞插件和工具插件;需要填寫設定的插件無法從機器人安裝。工具插件的結果會以角色的名稱發布成一張簡短的卡片。在頻道中,變更插件需要 Manage Channels 權限,或是曾經把角色加入該頻道,而任何人都可以查看清單;在你的私訊中,插件由你自己決定。
單獨的 /settings 不是有效的指令——它一定要搭配六個子指令之一:
| 子指令 | 選項 | 需要 | 效果 |
|---|---|---|---|
/settings model | model(選填) | — | 你在這個頻道的主要角色上使用的模型。留空會顯示目前的模型或將其重設。進階模型可能需要訂閱 |
/settings language | language(選填) | Manage Channels | 頻道的回覆語言。留空會重設為英文 |
/settings channel-mode | mode:auto 或 mention | Manage Channels | 角色要回覆每一則訊息,還是只在被點名時回覆 |
/settings chat-style | style:RP 或 NORMAL | Manage Channels | 帶有動作描寫的角色扮演文風,或只有對白 |
/settings payment-mode | mode:owner 或 user | Manage Channels | 由誰付費 |
/settings daily-limit | credits(必填,≥ 0) | Manage Channels | 每個 UTC 日的點數上限。0 代表不設上限 |
網頁主控台上也有相同的設定,依頻道分開,名稱分別是付費模式、每日點數上限、聊天風格、回覆模式、回覆語言和你的模型。在有人於頻道中傳送訊息之前,語言和模型這兩項在主控台上會維持停用。
角色何時會回覆
角色會在被 @提及、有人回覆它的某則訊息,或頻道開啟自動回覆時回應。自動回覆預設為關閉,所以剛加入的角色在被點名之前都會保持安靜。
當一個頻道中有好幾個角色時,這個頻道就像一場群組聊天:一份提示詞會列出在場的每個角色,再由模型決定誰發言。提到某個名稱只是隨你的訊息一起傳遞的提示,而不是強制該角色回答的開關。群組聊天 →
討論串
文字頻道中的討論串會和該頻道的角色對話,並沿用頻道的付費模式、回覆模式和聊天風格,但擁有自己的紀錄——適合開一段支線劇情,又不會讓頻道變得雜亂。討論串一開始會使用頻道的回覆語言;在討論串中使用 /settings language 和 /settings model,只會套用到該討論串。討論串的花費會計入頻道的每日上限。會變更角色陣容或頻道其他設定的指令,例如 /add-character、/list-characters、/plugins 或 /settings chat-style,會提示你到上層頻道操作。論壇貼文和其他類型的討論串沒有角色。
由誰付費
| 付費模式 | 計費對象 | 適用的上限 |
|---|---|---|
| Owner pays(預設) | 伺服器的付費方:第一個把角色加入這個伺服器的 Reverie 帳號,直到有其他人接手為止 | 頻道的每日點數上限,以及用 /server 設定的每位成員每日上限 |
| User pays | 每位發送者自己的餘額 | 無——每位成員只受自己的餘額限制 |
訊息的花費和在網頁應用程式中一樣:依 Token 計算,再乘以模型的點數倍率。每日計數會在 00:00 UTC 重設,主控台上的頻道設定對話框會顯示今天的用量與上限。
如果你想把費用轉到自己的帳號上——例如當初設定機器人的人已經離開了——請開啟 /server 並按用我的帳號付費。這會套用到伺服器中所有由付費方支付的頻道。
伺服器規則
/server 會開啟一個只有你看得到的面板。擁有 Manage Server 權限的成員可以開啟它,為伺服器角色付費的人也可以。面板會顯示今天和過去七天的用量、今天用量最多的成員,以及三條規則:
| 規則 | 選項 |
|---|---|
| 誰能聊天 | 所有人(預設)、僅限管理員,或擁有特定身分組的成員——在第二個選單中挑選身分組 |
| 每位成員每日上限 | 每位成員每個 UTC 日最多能花費多少付費方的點數,或不設上限(預設)。只在由付費方支付時生效 |
| 已封鎖的成員 | 在這裡選取的成員,在整個伺服器中都無法和角色聊天 |
這裡的管理員是指擁有 Manage Server 權限的成員。管理員和付費帳號永遠不會被擋在外面,無論是封鎖還是存取模式都一樣;在挑選任何身分組之前,擁有特定身分組的成員只允許他們發言。被存取模式排除的成員會收到一次提示,告知只有部分成員能和角色聊天;被封鎖的成員則完全不會得到回覆。
年齡限制角色
18+ 角色只會在年齡限制頻道、年齡限制類別下的頻道,或設為 18+ 的伺服器中的任何地方回覆——討論串則依照它所屬的頻道。在其他地方,機器人會說明原因,而不是回覆。在你的私訊中,則改為依照你帳號的 18+ 設定。
頻道中可以使用的功能
- 圖片。 角色可以在 Discord 中生成圖片。
- 語音輸出。 角色可以傳送語音訊息。
- 語音輸入。 你傳送的語音訊息會被轉成文字,上限 25 MB。
- 記憶。 當模型支援工具時,角色會儲存、更新和刪除記憶,世界書的設定也會納入它的上下文。
- 紀錄。 頻道內容變長時,會自動產生摘要。
- 在頻道中加入第二個角色時,會沿用該頻道的聊天風格、付費模式和每日上限。
通知與簽到
/notify 可以設定兩件事。角色主動傳訊息給你是你帳號的主動程度,與網站上的設定相同:有訂閱時,你在私訊中正在聊的角色可以主動傳訊息給你——請見主動訊息。也傳送到這裡用來選擇你的哪些 Reverie 通知也會送到你的私訊;一開始只開啟了帳號與帳單——請見通知。整合主控台上也提供相同的選項。
/daily 會領取你的每日簽到,與網站上的簽到相同,並附上抽獎的連結。
編輯與刪除訊息
編輯你最近的一則訊息,會重新生成對它的回覆。
在 Discord 中刪除一則訊息,會把那則訊息以及它之後的所有訊息從角色的紀錄中刪除,連同在那之後建立的記憶和附件。角色的回覆也會從頻道中移除。這項操作無法復原。
機器人會讀取什麼
機器人會收到它看得到的頻道中的每一則訊息——提及和回覆就是這樣傳到它那裡的。每次回覆之前,它還會讀取該頻道過去一小時內的近期訊息,包括不是對它說的訊息,並把這些訊息作為上下文交給模型,讓角色能跟上頻道裡的對話。
請把有機器人的頻道當成機器人正在聆聽的頻道。如果這不是你想要的,請把角色放在專用的頻道中。
限制
| 限制 | 數值 |
|---|---|
| 每個頻道的角色數 | 5 |
| Discord 訊息長度 | 2,000 個字元 |
| 語音訊息大小 | 25 MB |
| 每個 Discord 頻道的 webhook 數 | 15(Discord 本身的上限) |
| 每個頻道的排隊訊息數 | 3 |
同一個人快速連續傳送的訊息會合併成一輪。
取消連結
在整合主控台上使用取消連結帳號即可取消連結。把機器人從伺服器移除或你自己離開伺服器,都不會取消你帳號的連結。取消連結之後,使用 Discord 登入就不會再自動連結機器人——想重新連結時,請使用透過 Discord 連結或 /link-account。
相關內容
- Telegram 機器人——同樣的角色,在 Telegram 中
- Reverie 實驗室——整合主控台所在的位置
- 群組聊天——多角色對話如何運作
- 點數——一則訊息的花費