From 56f1716c084280edae69c3717a33e6ff34fe97c1 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 27 Jun 2026 21:23:31 +0100 Subject: [PATCH 1/8] feat: intents guide Signed-off-by: Ben --- src/SUMMARY.md | 1 + .../whitelabel-intents-application-guide.md | 155 ++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 src/premium/whitelabel-intents-application-guide.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 4baf7fc..8926ad5 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -42,6 +42,7 @@ - [Premium](./premium/introduction.md) - [Premium and Whitelabel Perks](./premium/perks.md) - [Whitelabel Setup Guide](./premium/whitelabel-setup-guide.md) + - [Whitelabel Intents](./premium/whitelabel-intents-application-guide.md) - [Features](./features/introduction.md) - [Thread Mode](./features/thread-mode.md) diff --git a/src/premium/whitelabel-intents-application-guide.md b/src/premium/whitelabel-intents-application-guide.md new file mode 100644 index 0000000..3790b43 --- /dev/null +++ b/src/premium/whitelabel-intents-application-guide.md @@ -0,0 +1,155 @@ +# Intents Request Guide +*** + +This document is to cover the questions you will need to answer if your bot serves more than 10,000 individual users. + + +## Application Details + +### 1. What does your application do? Please be as detailed as possible, and feel free to include links to image or video examples. +```txt +This bot is a custom (white label) version of the Tickets Bot platform (https://tickets.bot), which serves as the hosting provider. Tickets Bot is a well-established Discord ticket and support management system. + +The bot provides server administrators with a complete support ticket system. Users open tickets by clicking buttons on customisable panel embeds, which creates a private channel between the user and server staff. Staff can then assist users directly within the ticket channel and manage tickets through both Discord commands and the web dashboard (https://dashboard.tickets.bot). + +Core features include: +- Customisable ticket panels (embedded messages with buttons to open tickets) +- Intake forms (questionnaires presented to users when opening a ticket) +- Ticket transcripts (archived logs of ticket conversations, viewable on the web dashboard) +- Tags (pre-written canned responses for staff) +- Team-based staff assignment (routing tickets to specific staff groups) +- Automatic ticket closure on inactivity +- Close requests (allowing staff to request closure with user confirmation) +- Thread-based ticket mode (using Discord threads instead of channels) +- Multi-panel setups for different support categories + +Full documentation with screenshots is available at https://docs.tickets.bot +``` + +### 2. Do you have a public Privacy Policy telling your users about their data usage? +```txt +Yes +``` + +#### 2.1. Where is your Privacy Policy available? +```txt +The Privacy Policy is publicly available on the Tickets Bot website. +``` + +#### 2.2. Please share a link to your Privacy Policy. +```txt +https://tickets.bot/privacy +``` + +## Privileged Gateway Intents + +1. Which intents are you applying for, if any? + - [x] Server Members intent + - [x] Message Content intent + +## Server Members Intent + +### 1. Why do you need the Guild Members intent? +```txt +The bot requires the Server Members intent to operate its core ticket management functionality: + +1. Permission and role verification: When a user opens a ticket or interacts with a ticket panel, the bot checks their roles and permissions to determine whether they are allowed to open a ticket, access a specific ticket category, or perform staff actions (such as claiming or closing tickets). +2. Team-based staff routing: The bot uses a team system where server administrators assign specific Discord roles to support teams. When a ticket is opened, the bot resolves member role data to route the ticket to the correct team. +3. Ticket transcripts: When archiving ticket conversations, the bot includes participant details (username, avatar, roles) so that staff can identify participants when reviewing transcripts on the web dashboard. +4. Staff management: The bot needs to resolve member information to enforce admin and support role hierarchies, ensuring only authorised staff can access and manage tickets. + +Without this intent, the bot cannot resolve member roles or permissions, which are fundamental to every ticket operation. +``` + +### 2. Please provide links to screenshots and/or videos that demonstrate your use case +```txt +Full documentation with screenshots demonstrating these features is available at: + +- Ticket panels and role-based access: https://docs.tickets.bot/setup/panels +- Staff team management: https://docs.tickets.bot/dashboard/staff-teams +- Ticket transcripts: https://docs.tickets.bot/dashboard/transcripts +- General setup and configuration: https://docs.tickets.bot/setup/configuration + +Regarding data storage, ticket transcripts and associated data are retained for as long as the server uses the bot, so that server administrators can review past support interactions. Data is deleted upon request through the bot's GDPR compliance tools (the /gdpr command), or when a server owner deletes their transcripts. +``` + +### 3. Are you storing any API Data off-platform (outside of Discord)? +```txt +Yes. +``` +#### 3.1. Are you storing API Data for 30 days or less? +```txt +No. +``` + +#### 3.2. How do users contact you to request deletion of their activity data? +```txt +Users can request deletion of their data through multiple channels: + +1. The /gdpr command: Users can DM the bot and run /gdpr to access an interactive menu for deleting transcripts or anonymising their messages. Server owners can delete all transcripts from their servers, and individual users can anonymise their messages in any transcript they participated in. Requests are processed within 30 days. +2. The Tickets Bot support server: Users can open a support ticket at https://discord.gg/ticketsbot to request data deletion. + +Full documentation on the GDPR process is available at https://docs.tickets.bot/commands/gdpr +``` + +#### 3.3. Are you encrypting the data that you store at rest, as is required by our developer policy? +```txt +Yes. Data is encrypted at rest. +``` + +## Message Content Intent + +### 1. Can users opt-out of having their message content data tracked? +```txt +Yes. +``` + +### 2. Are you storing message content data off-platform (outside of Discord)? +```txt +Yes. +``` +#### 2.1. Are you storing user message content data for 30 days or less? +```txt +No. +``` + +#### 2.2. How do users contact you to request deletion of their activity data? +```txt +Users can request deletion of their data through multiple channels: + +1. The /gdpr command: Users can DM the bot and run /gdpr to access an interactive menu for deleting transcripts or anonymising their messages. Server owners can delete all transcripts from their servers, and individual users can anonymise their messages in any transcript they participated in. Requests are processed within 30 days. +2. The Tickets Bot support server: Users can open a support ticket at https://discord.gg/ticketsbot to request data deletion. + +Full documentation on the GDPR process is available at https://docs.tickets.bot/commands/gdpr +``` + +#### 2.3 Are you encrypting the data that you store at rest, as is required by our developer policy? +```txt +Yes. Data is encrypted at rest. +``` + +### 3. Will the message content data be used to train machine learning or AI Models? +```txt +No. +``` + +### 4. Why do you need the Message Content intent? +```txt +The bot requires the Message Content intent to operate its core ticket management functionality: + +1. Transcript generation: When a ticket is closed, the bot reads and archives all messages from the ticket channel to create a transcript. These transcripts are stored so that server staff can review past support interactions through the web dashboard. Without message content, transcripts would be empty. +2. Live chat relay: The bot mirrors ticket messages between Discord and the web dashboard in real time, allowing staff to respond to tickets from either platform. This requires reading message content as it is sent. +3. Inactivity detection: The bot monitors ticket channels for new messages to determine inactivity, enabling the automatic ticket closure feature. + +Without this intent, the bot cannot read message content in ticket channels, which makes transcript generation, live chat relay, and other core features non-functional. +``` + +### 5. Please provide links to screenshots and/or videos that demonstrate your use case +```txt +Full documentation with screenshots demonstrating these features is available at: + +- Ticket transcripts: https://docs.tickets.bot/dashboard/transcripts +- Tags (canned responses): https://docs.tickets.bot/dashboard/tags +- Thread-based ticket mode: https://docs.tickets.bot/features/thread-mode +- Ticket panel setup: https://docs.tickets.bot/setup/panels +``` From 86af87112ff5a8cf4cfbec103debc95b7eacd837 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 27 Jun 2026 21:43:24 +0100 Subject: [PATCH 2/8] add email for gdpr Signed-off-by: Ben --- src/premium/whitelabel-intents-application-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/premium/whitelabel-intents-application-guide.md b/src/premium/whitelabel-intents-application-guide.md index 3790b43..c31fded 100644 --- a/src/premium/whitelabel-intents-application-guide.md +++ b/src/premium/whitelabel-intents-application-guide.md @@ -119,6 +119,7 @@ Users can request deletion of their data through multiple channels: 1. The /gdpr command: Users can DM the bot and run /gdpr to access an interactive menu for deleting transcripts or anonymising their messages. Server owners can delete all transcripts from their servers, and individual users can anonymise their messages in any transcript they participated in. Requests are processed within 30 days. 2. The Tickets Bot support server: Users can open a support ticket at https://discord.gg/ticketsbot to request data deletion. +3. They can email support@bhcloudlabs.com with the deletion request. Full documentation on the GDPR process is available at https://docs.tickets.bot/commands/gdpr ``` From bbec024e27751b37ffca9cd736246bb7d3b41f66 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 27 Jun 2026 21:45:52 +0100 Subject: [PATCH 3/8] add email for gdpr Signed-off-by: Ben --- src/premium/whitelabel-intents-application-guide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/premium/whitelabel-intents-application-guide.md b/src/premium/whitelabel-intents-application-guide.md index c31fded..7b71f0a 100644 --- a/src/premium/whitelabel-intents-application-guide.md +++ b/src/premium/whitelabel-intents-application-guide.md @@ -88,6 +88,7 @@ Users can request deletion of their data through multiple channels: 1. The /gdpr command: Users can DM the bot and run /gdpr to access an interactive menu for deleting transcripts or anonymising their messages. Server owners can delete all transcripts from their servers, and individual users can anonymise their messages in any transcript they participated in. Requests are processed within 30 days. 2. The Tickets Bot support server: Users can open a support ticket at https://discord.gg/ticketsbot to request data deletion. +3. They can email support@bhcloudlabs.com with the deletion request. Full documentation on the GDPR process is available at https://docs.tickets.bot/commands/gdpr ``` From 654581612f3b196b088c678ffd7a20afeda03918 Mon Sep 17 00:00:00 2001 From: biast12 <53872542+biast12@users.noreply.github.com> Date: Sat, 27 Jun 2026 22:57:39 +0200 Subject: [PATCH 4/8] Add custom CSS for wrapped code blocks Configure mdBook to load a new `custom.css` file and apply `white-space: pre-wrap` to `pre` and `code` elements. This improves readability by preventing long code lines from overflowing in the HTML docs theme. --- book.toml | 1 + custom.css | 3 +++ 2 files changed, 4 insertions(+) create mode 100644 custom.css diff --git a/book.toml b/book.toml index f9b3e2e..5a25e16 100644 --- a/book.toml +++ b/book.toml @@ -8,3 +8,4 @@ description = "Official Documentation of the Tickets V2 Discord Bot" [output.html] default-theme = "ayu" +additional-css = ["custom.css"] diff --git a/custom.css b/custom.css new file mode 100644 index 0000000..cf7549f --- /dev/null +++ b/custom.css @@ -0,0 +1,3 @@ +pre, code { + white-space: pre-wrap; +} From cd00dee475348d6203be3d2c53f50ea2f9e3b35a Mon Sep 17 00:00:00 2001 From: biast12 <53872542+biast12@users.noreply.github.com> Date: Sat, 27 Jun 2026 23:07:41 +0200 Subject: [PATCH 5/8] Add padding to code blocks Adds padding to `pre` elements so wrapped code blocks have a little more breathing room while preserving the existing `white-space: pre-wrap` behavior. --- custom.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/custom.css b/custom.css index cf7549f..8002e97 100644 --- a/custom.css +++ b/custom.css @@ -1,3 +1,7 @@ pre, code { white-space: pre-wrap; } + +pre { + padding: 0.75rem 1rem; +} From 43c2672112e168909d3865134d5073eb65b3b2b3 Mon Sep 17 00:00:00 2001 From: biast12 <53872542+biast12@users.noreply.github.com> Date: Sat, 27 Jun 2026 23:10:30 +0200 Subject: [PATCH 6/8] Tweak code block button positioning Adjust the `.buttons` overlay inside `pre` blocks to sit closer to the top-right corner for better alignment. --- custom.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/custom.css b/custom.css index 8002e97..b88c469 100644 --- a/custom.css +++ b/custom.css @@ -5,3 +5,8 @@ pre, code { pre { padding: 0.75rem 1rem; } + +pre > .buttons { + right: 0.5rem; + top: 0.5rem; +} From 767642bad2eedc7814223342d37e821cc2bbdde8 Mon Sep 17 00:00:00 2001 From: biast12 <53872542+biast12@users.noreply.github.com> Date: Sat, 27 Jun 2026 23:31:20 +0200 Subject: [PATCH 7/8] Wrap long code lines in docs Adds `overflow-wrap: break-word` to `pre, code` so long inline code and code blocks wrap instead of overflowing. --- custom.css | 1 + 1 file changed, 1 insertion(+) diff --git a/custom.css b/custom.css index b88c469..fe665e9 100644 --- a/custom.css +++ b/custom.css @@ -1,5 +1,6 @@ pre, code { white-space: pre-wrap; + overflow-wrap: break-word; } pre { From e701b26abd4d8d15242d66c476a8b377e720f8d9 Mon Sep 17 00:00:00 2001 From: biast12 <53872542+biast12@users.noreply.github.com> Date: Sat, 27 Jun 2026 23:35:40 +0200 Subject: [PATCH 8/8] Style code blocks and improve touch device UX Added border-radius to code blocks for improved visual appearance. Added media query for touch devices to ensure the copy button remains visible, since devices without hover support cannot access hover-only UI elements. --- custom.css | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/custom.css b/custom.css index fe665e9..83abc8c 100644 --- a/custom.css +++ b/custom.css @@ -5,9 +5,18 @@ pre, code { pre { padding: 0.75rem 1rem; + border-radius: 6px; } pre > .buttons { right: 0.5rem; top: 0.5rem; } + +/* Hover-only copy button never appears on touch devices; keep it visible there. */ +@media (hover: none) { + pre > .buttons { + visibility: visible; + opacity: 1; + } +}