# Bot Discord

> Trò chuyện riêng một-một trong tin nhắn trực tiếp, hoặc đưa nhân vật vào máy chủ và quyết định ai được nói chuyện với chúng và ai trả tiền.

Source: https://reverie.im/vi/docs/integrations/discord-bot
Language: vi

Bot Reverie đưa nhân vật đến hai nơi trên Discord: **tin nhắn trực tiếp** của bạn với bot, để trò chuyện một-một, và **các kênh máy chủ**, nơi mỗi nhân vật nói bằng tên và ảnh đại diện của riêng mình. Ai nói chuyện với nhân vật cũng cần một tài khoản Reverie đã liên kết với tài khoản Discord của mình — tài khoản miễn phí là đủ — và mọi câu trả lời đều được tính bằng tín dụng vào một tài khoản Reverie.

## Liên kết tài khoản \[#link-your-account]

Một tài khoản Discord ứng với đúng một tài khoản Reverie. Cách nào sau đây cũng nối được hai tài khoản:

* **Từ bảng điều khiển tích hợp.** Trong ứng dụng, vào **Labs → Bot Discord & Telegram** và bấm **Liên kết bằng Discord** trên thẻ Discord. Bạn xác nhận trên Discord rồi quay lại ngay.
* **Đăng nhập bằng Discord.** Đăng nhập Reverie bằng Discord cũng liên kết luôn bot — trừ khi trước đó bạn đã hủy liên kết trên bảng điều khiển; khi đó nó vẫn chưa được liên kết cho đến khi chính bạn liên kết lại.
* **Từ Discord.** Chạy `/link-account` trong một máy chủ hoặc trong tin nhắn trực tiếp với bot. Chỉ bạn thấy câu trả lời: một nút **Liên kết tài khoản** chỉ dùng được một lần và hết hạn sau **10 phút**. Mở nó, đăng nhập, và hai tài khoản được nối với nhau.

## Trò chuyện một-một trong tin nhắn trực tiếp \[#chat-one-on-one-in-your-dms]

Gửi tin nhắn trực tiếp cho bot, hoặc chạy `/chat` trong bất kỳ máy chủ nào có bot — cuộc trò chuyện sẽ chuyển sang tin nhắn trực tiếp của bạn, nơi chỉ bạn thấy. `/chat` không kèm gì sẽ đưa ra các nhân vật để chọn; thêm một cái tên để tìm.

* **Mỗi lần một nhân vật.** `/chat` chuyển sang người khác, còn `/chats` liệt kê các nhân vật bạn đã trò chuyện trong tin nhắn trực tiếp. Mỗi nhân vật giữ cuộc trò chuyện riêng, nên khi quay lại bạn tiếp tục đúng chỗ đã dừng.
* **Tin nhắn nào cũng được trả lời**, do bot đăng, với tên nhân vật bằng chữ nhỏ phía trên. Hình ảnh, tin nhắn thoại và trí nhớ hoạt động như trong một kênh.
* **Bạn tự trả tiền** cho tin nhắn của mình. Chế độ thanh toán và giới hạn của máy chủ không áp dụng ở đây.
* **Nhân vật 18+** theo cài đặt 18+ của tài khoản bạn: khi tắt, chúng bị ẩn và không thể trò chuyện trong tin nhắn trực tiếp.
* `/remove-character` kết thúc cuộc trò chuyện hiện tại — nó vẫn được lưu cho `/chats` — còn `/reset-chat` xóa nó sau khi hỏi bạn xác nhận.
* Trong các lệnh con của `/settings`, chỉ `model`, `language` và `chat-style` áp dụng cho tin nhắn trực tiếp.

Nếu bot báo không nhắn được cho bạn, hãy cho phép tin nhắn trực tiếp từ thành viên máy chủ trong cài đặt quyền riêng tư của Discord rồi thử lại. Các cuộc trò chuyện gần đây trong tin nhắn trực tiếp cũng hiện trên bảng điều khiển tích hợp, dưới mục **Trò chuyện riêng**, nơi **Tiếp tục trên web** mở lại một cuộc trong trình duyệt.

## Thêm bot vào máy chủ \[#add-the-bot-to-a-server]

### Mời bot \[#invite-the-bot]

Bấm **Thêm Bot vào máy chủ** trên thẻ Discord của bảng điều khiển tích hợp và chọn một máy chủ. Giữ nguyên dấu chọn ở mọi quyền được yêu cầu — bảng bên dưới giải thích vì sao cần từng quyền. Khi vào máy chủ, bot đăng một tin hướng dẫn ngắn ở nơi máy chủ hiện tin nhắn chào mừng thành viên mới.

### Thêm nhân vật vào kênh \[#add-a-character-to-a-channel]

Trong một kênh văn bản, chạy `/add-character` và chọn nhân vật từ gợi ý tự động — gồm các nhân vật công khai và nhân vật riêng tư của bạn. Bạn cần quyền **Manage Channels** và một tài khoản đã liên kết. Bot tạo một webhook để nhân vật có thể đăng bằng tên của chính nó, rồi gửi lời chào.

### Đặt quy tắc \[#set-the-rules]

Không bắt buộc. `/settings` quyết định nhân vật trong kênh trả lời thế nào và ai trả tiền cho chúng; `/server` quyết định ai được nói chuyện với chúng. Cả hai được giải thích bên dưới.

## Những quyền lời mời xin \[#permissions-the-invite-requests]

| Quyền               | Vì sao cần                                                                  |
| ------------------- | --------------------------------------------------------------------------- |
| **View Channels**   | Đọc kênh nơi bot được dùng                                                  |
| **Send Messages**   | Đăng câu trả lời và kết quả của lệnh                                        |
| **Manage Messages** | Gỡ câu trả lời của nhân vật khi tin nhắn gây ra nó bị xóa                   |
| **Embed Links**     | Kết quả lệnh và thông báo rút thăm cộng đồng đều là nội dung nhúng          |
| **Manage Roles**    | Trao vai trò mà đợt rút thăm cộng đồng dùng trong máy chủ của chính Reverie |
| **Manage Webhooks** | **Bắt buộc.** Nhân vật nói qua webhook riêng của từng nhân vật              |

Không có **Manage Webhooks**, `/add-character` sẽ thất bại và nhân vật không được thêm.

## Lệnh \[#commands]

Trong máy chủ, các lệnh ghi **Manage Channels** hoặc **Manage Server** chỉ hiện với thành viên có quyền Discord đó. Câu trả lời cho các lệnh tài khoản và quản lý chỉ mình bạn thấy.

| Lệnh                 | Tùy chọn                | Ở đâu                                | Tác dụng                                                                                                                                                                                                                                                    |
| -------------------- | ----------------------- | ------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `/help`              | —                       | máy chủ, DM                          | Liệt kê các lệnh, chỉ bạn thấy                                                                                                                                                                                                                              |
| `/link-account`      | —                       | máy chủ, DM                          | Gửi một liên kết dùng một lần để nối tài khoản Discord và Reverie                                                                                                                                                                                           |
| `/chat`              | `name` (tùy chọn)       | máy chủ, DM                          | Chọn hoặc đổi nhân vật trong tin nhắn trực tiếp. Trong máy chủ, gửi lựa chọn vào tin nhắn trực tiếp của bạn                                                                                                                                                 |
| `/chats`             | —                       | máy chủ, DM                          | Các nhân vật bạn đã trò chuyện trong tin nhắn trực tiếp, để chuyển qua lại                                                                                                                                                                                  |
| `/add-character`     | `name` (bắt buộc)       | máy chủ · Manage Channels            | Thêm một nhân vật vào kênh này và cho nó chào hỏi                                                                                                                                                                                                           |
| `/remove-character`  | `name` (bắt buộc)       | máy chủ · Manage Channels, DM        | Gỡ nhân vật và xóa webhook của nó. Trong tin nhắn trực tiếp, kết thúc cuộc trò chuyện hiện tại                                                                                                                                                              |
| `/list-characters`   | —                       | máy chủ                              | Liệt kê nhân vật của kênh này, mỗi nhân vật có một nút Gỡ                                                                                                                                                                                                   |
| `/character-info`    | `name` (bắt buộc)       | máy chủ, DM                          | Tiểu sử, hình ảnh, tuổi, giới tính, điểm đánh giá, danh mục, thẻ và cờ NSFW, kèm liên kết đến trang của nhân vật. Với tài khoản đã liên kết, còn có các nút 1–5★ để chấm điểm nhân vật khi bạn đã nhận được vài câu trả lời của nó và phần đánh giá đang mở |
| `/reset-chat`        | —                       | máy chủ · Manage Channels, DM        | Xóa tin nhắn và bản tóm tắt của kênh, báo lại số lượng. Trong tin nhắn trực tiếp, xóa cuộc trò chuyện hiện tại khi bạn xác nhận                                                                                                                             |
| `/regenerate-reply`  | `model` (tùy chọn)      | máy chủ, DM                          | Tạo lại câu trả lời cuối của nhân vật, có thể dùng mô hình khác cho lần thử đó                                                                                                                                                                              |
| `/reply-suggestions` | —                       | máy chủ, DM                          | Ba câu trả lời gợi ý dạng nút; chạm vào một câu để gửi nó như tin nhắn của bạn                                                                                                                                                                              |
| `/settings`          | một lệnh con (bắt buộc) | máy chủ, DM                          | Cài đặt kênh và cài đặt cá nhân                                                                                                                                                                                                                             |
| `/plugins`           | một lệnh con (bắt buộc) | máy chủ, DM                          | Hiện các plugin đang chạy ở đây; cài, gỡ, bật tắt plugin chính thức và plugin của bạn                                                                                                                                                                       |
| `/server`            | —                       | máy chủ · Manage Server hoặc chủ nhà | Ai được nói chuyện với nhân vật, giới hạn mỗi ngày cho mỗi thành viên, thành viên bị chặn và mức dùng                                                                                                                                                       |
| `/my-account`        | —                       | máy chủ, DM                          | Tín dụng, mức dùng gói, ngày gia hạn, số cuộc trò chuyện                                                                                                                                                                                                    |
| `/daily`             | —                       | máy chủ, DM                          | Nhận phần điểm danh hằng ngày                                                                                                                                                                                                                               |
| `/notify`            | —                       | máy chủ, DM                          | Nhân vật có được nhắn cho bạn trước không, và những thông báo nào gửi tới tin nhắn trực tiếp                                                                                                                                                                |

`/plugins` nhận `list`, `install`, `remove`, `enable` hoặc `disable`. Chỉ có plugin chính thức và plugin của bạn, và chỉ plugin prompt và plugin công cụ; plugin cần điền cài đặt thì không cài được từ bot. Kết quả của plugin công cụ được đăng thành một thẻ ngắn dưới tên nhân vật. Trong một kênh, muốn đổi plugin cần có **Manage Channels** hoặc là người đã thêm nhân vật vào kênh, còn ai cũng xem được danh sách; trong tin nhắn trực tiếp, bạn tự quyết.

Chỉ mỗi `/settings` không phải là lệnh hợp lệ — nó luôn đi kèm một trong sáu lệnh con:

| Lệnh con                 | Tùy chọn                      | Cần             | Tác dụng                                                                                                                                      |
| ------------------------ | ----------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `/settings model`        | `model` (tùy chọn)            | —               | Mô hình **của bạn** cho nhân vật chính của kênh này. Bỏ trống thì hiện mô hình hiện tại hoặc đặt lại. Mô hình nâng cao có thể cần gói đăng ký |
| `/settings language`     | `language` (tùy chọn)         | Manage Channels | Ngôn ngữ trả lời của kênh. Bỏ trống thì quay về tiếng Anh                                                                                     |
| `/settings channel-mode` | `mode`: `auto` hoặc `mention` | Manage Channels | Nhân vật trả lời mọi tin nhắn hay chỉ khi được gọi                                                                                            |
| `/settings chat-style`   | `style`: `RP` hoặc `NORMAL`   | Manage Channels | Văn nhập vai có mô tả hành động, hay chỉ đối thoại                                                                                            |
| `/settings payment-mode` | `mode`: `owner` hoặc `user`   | Manage Channels | Ai bị tính tiền                                                                                                                               |
| `/settings daily-limit`  | `credits` (bắt buộc, ≥ 0)     | Manage Channels | Trần tín dụng mỗi ngày UTC. `0` nghĩa là không giới hạn                                                                                       |

Cùng những cài đặt đó có trên bảng điều khiển web, theo từng kênh, với tên **Payment mode**, **Daily credit limit**, **Chat style**, **Reply mode**, **Response language** và **Your model**. Ngôn ngữ và mô hình vẫn bị khóa ở đó cho tới khi có người gửi tin nhắn trong kênh.

## Khi nào nhân vật trả lời \[#when-a-character-replies]

Nhân vật đáp khi được **@nhắc tên**, khi ai đó **trả lời** một tin nhắn của nó, hoặc khi kênh đang ở chế độ tự động trả lời. Tự động trả lời **mặc định tắt**, nên một nhân vật vừa thêm vào sẽ im lặng cho đến khi được gọi.

Khi một kênh có nhiều nhân vật, kênh ấy hành xử như một cuộc trò chuyện nhóm duy nhất: một lần yêu cầu liệt kê mọi nhân vật đang có mặt và mô hình quyết định ai lên tiếng. Nhắc một cái tên là gợi ý đi kèm tin nhắn của bạn, không phải công tắc bắt nhân vật đó phải trả lời. [Trò chuyện nhóm →](https://reverie.im/vi/docs/chatting/group-chats)

## Chủ đề \[#threads]

Một chủ đề trong kênh văn bản trò chuyện với các nhân vật của kênh đó và theo chế độ thanh toán, chế độ trả lời và phong cách trò chuyện của kênh, nhưng có lịch sử riêng — chỗ cho một cảnh phụ mà không làm rối kênh. Nó bắt đầu bằng ngôn ngữ trả lời của kênh; `/settings language` và `/settings model` dùng bên trong chủ đề chỉ áp dụng cho chủ đề đó. Những gì một chủ đề tiêu sẽ tính vào giới hạn hằng ngày của kênh. Các lệnh thay đổi dàn nhân vật hoặc các cài đặt khác của kênh, như `/add-character`, `/list-characters`, `/plugins` hay `/settings chat-style`, sẽ chỉ bạn sang kênh cha. Bài đăng diễn đàn và các loại chủ đề khác không có nhân vật.

## Ai trả tiền \[#who-pays]

| Chế độ thanh toán         | Tính cho                                                                                                      | Giới hạn áp dụng                                                                                |
| ------------------------- | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| **Owner pays** (mặc định) | Chủ nhà của máy chủ: tài khoản Reverie đầu tiên đưa nhân vật vào máy chủ, cho đến khi có người khác nhận thay | Giới hạn tín dụng hằng ngày của kênh và giới hạn mỗi ngày cho mỗi thành viên đặt bằng `/server` |
| **User pays**             | Số dư của chính người gửi                                                                                     | Không có — mỗi thành viên bị giới hạn bởi số dư của chính mình                                  |

Tin nhắn tốn đúng như trong ứng dụng web: theo token, nhân với hệ số tín dụng của mô hình. Các bộ đếm hằng ngày đặt lại vào **00:00 UTC**, và hộp thoại cài đặt kênh trên bảng điều khiển cho thấy mức dùng hôm nay so với giới hạn.

Để chuyển hóa đơn sang tài khoản của bạn — chẳng hạn người cài bot đã rời đi — hãy mở `/server` và bấm **Trả bằng tài khoản của tôi**. Việc này áp dụng cho mọi kênh trong máy chủ mà chủ nhà trả tiền.

## Quy tắc máy chủ \[#server-rules]

`/server` mở một bảng chỉ mình bạn thấy. Thành viên có **Manage Server** mở được, người trả tiền cho nhân vật của máy chủ cũng vậy. Bảng cho thấy mức dùng hôm nay và bảy ngày qua, những thành viên dùng nhiều nhất hôm nay, và ba quy tắc:

| Quy tắc                                  | Lựa chọn                                                                                                                                   |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Ai được trò chuyện**                   | **Mọi người** (mặc định), **Chỉ quản trị viên**, hoặc **Thành viên có vai trò nhất định** — vai trò được chọn ở menu thứ hai               |
| **Giới hạn mỗi ngày cho mỗi thành viên** | Một thành viên được tiêu bao nhiêu tín dụng của chủ nhà mỗi ngày UTC, hoặc **Không giới hạn** (mặc định). Chỉ áp dụng nơi chủ nhà trả tiền |
| **Thành viên bị chặn**                   | Thành viên được chọn ở đây không thể nói chuyện với nhân vật ở bất cứ đâu trong máy chủ                                                    |

Quản trị viên ở đây là thành viên có **Manage Server**. Quản trị viên và tài khoản trả tiền không bao giờ bị chặn ngoài — dù bởi lệnh chặn hay chế độ truy cập — và khi chưa chọn vai trò nào, **Thành viên có vai trò nhất định** chỉ cho họ nói chuyện. Thành viên bị chế độ truy cập loại ra sẽ được báo một lần rằng chỉ một số thành viên được nói chuyện với nhân vật; thành viên bị chặn thì không nhận được câu trả lời nào.

## Nhân vật giới hạn độ tuổi \[#age-restricted-characters]

Nhân vật 18+ chỉ trả lời trong kênh giới hạn độ tuổi, trong kênh thuộc danh mục giới hạn độ tuổi, hoặc ở bất cứ đâu trong máy chủ được đặt là 18+ — chủ đề theo kênh của nó. Ở nơi khác, bot giải thích lý do thay vì trả lời. Trong tin nhắn trực tiếp, nhân vật 18+ thay vào đó theo cài đặt 18+ của tài khoản bạn.

## Những gì chạy được trong kênh \[#what-works-in-a-channel]

* **Hình ảnh.** Nhân vật có thể tạo ảnh ngay trong Discord.
* **Tiếng nói đi ra.** Nhân vật có thể gửi tin nhắn thoại.
* **Tiếng nói đi vào.** Tin nhắn thoại bạn gửi sẽ được chép lại thành chữ, tối đa **25 MB**.
* **Ký ức.** Khi mô hình hỗ trợ công cụ, nhân vật lưu, cập nhật và xóa ký ức, và phần chính truyện trong sách thế giới cũng vào ngữ cảnh của nó.
* **Lịch sử.** Kênh dài được tóm tắt tự động khi nó lớn dần.
* Thêm nhân vật thứ hai vào một kênh sẽ chép lại phong cách trò chuyện, chế độ thanh toán và giới hạn hằng ngày của kênh ấy.

## Thông báo và điểm danh \[#notifications-and-check-ins]

`/notify` chỉnh hai thứ. **Nhân vật chủ động nhắn tin cho bạn** là mức chủ động của tài khoản bạn, cũng chính là cài đặt trên website: có gói đăng ký, nhân vật bạn đang trò chuyện trong tin nhắn trực tiếp có thể nhắn cho bạn trước — xem [Tin nhắn chủ động](https://reverie.im/vi/docs/chatting/proactive-messages). **Gửi thêm vào đây** chọn thông báo Reverie nào cũng được gửi tới tin nhắn trực tiếp của bạn; ban đầu chỉ bật **Tài khoản và thanh toán** — xem [Thông báo](https://reverie.im/vi/docs/account/notifications). Bảng điều khiển tích hợp có đúng các lựa chọn đó.

`/daily` nhận phần [điểm danh hằng ngày](https://reverie.im/vi/docs/rewards/daily-check-in), giống như trên website, và kèm liên kết đến rút thăm may mắn.

## Sửa và xóa tin nhắn \[#editing-and-deleting-messages]

Sửa tin nhắn mới nhất của bạn sẽ chạy lại câu trả lời cho nó.

> Xóa một tin nhắn trong Discord sẽ xóa tin nhắn ấy **và mọi tin nhắn sau nó** khỏi lịch sử của nhân vật, cùng với ký ức và tệp đính kèm tạo ra sau thời điểm đó. Câu trả lời của nhân vật cũng bị gỡ khỏi kênh. Việc này không hoàn tác được.

## Bot đọc những gì \[#what-the-bot-reads]

Bot nhận mọi tin nhắn trong các kênh nó thấy được — đó là cách các lời nhắc tên và câu trả lời đến được với nó. Trước mỗi lần đáp, nó còn đọc **những tin nhắn gần đây trong một giờ qua** của kênh, kể cả những tin không nói với nó, rồi đưa cho mô hình làm ngữ cảnh để nhân vật theo kịp câu chuyện trong phòng.

Hãy coi một kênh có bot trong đó là một kênh bot đang nghe. Nếu đó không phải điều bạn muốn, hãy đặt nhân vật vào một kênh riêng.

## Giới hạn \[#limits]

| Giới hạn                   | Giá trị                     |
| -------------------------- | --------------------------- |
| Nhân vật mỗi kênh          | 5                           |
| Độ dài tin nhắn Discord    | 2.000 ký tự                 |
| Kích thước tin nhắn thoại  | 25 MB                       |
| Webhook mỗi kênh Discord   | 15 (trần của chính Discord) |
| Tin nhắn xếp hàng mỗi kênh | 3                           |

Những tin nhắn liên tiếp nhanh của cùng một người được gộp thành một lượt.

## Hủy liên kết \[#unlinking]

Hủy liên kết trên bảng điều khiển tích hợp bằng **Hủy liên kết tài khoản**. Gỡ bot khỏi máy chủ hoặc rời máy chủ không hủy liên kết tài khoản. Sau khi hủy, đăng nhập bằng Discord không còn tự liên kết lại bot — khi muốn dùng lại, hãy dùng **Liên kết bằng Discord** hoặc `/link-account`.

## Liên quan \[#related]

* [Bot Telegram](https://reverie.im/vi/docs/integrations/telegram-bot) — vẫn những nhân vật ấy, trong Telegram
* [Reverie Labs](https://reverie.im/vi/docs/integrations/labs) — nơi bảng điều khiển tích hợp nằm
* [Trò chuyện nhóm](https://reverie.im/vi/docs/chatting/group-chats) — cách các cuộc trò chuyện nhiều nhân vật vận hành
* [Tín dụng](https://reverie.im/vi/docs/billing/credits) — một tin nhắn tốn bao nhiêu
