# Custom Bot Intents Application (/custombotintents)



Once your Custom Bot passes **10,000 members across your servers**, Discord asks you to verify the application and say
why it needs the privileged intents it has switched on. Your bot needs both **Server Members** and **Message Content**.

Every block below has a copy button in its top right corner. The headings match the questions Discord asks, in the
order it asks them.

## General Information tab [#general-information-tab]

Verification needs both of these fields filled in on your application. Use Tickety's, since Tickety holds the data.

```text title="Terms of Service URL"
https://tickety.top/legal/terms-of-service
```

```text title="Privacy Policy URL"
https://tickety.top/legal/privacy-policy
```

## About the application [#about-the-application]

<Accordions type="multiple">
  <Accordion title="What does your application do?">
    ```text title="Answer"
    This bot is a white label deployment of Tickety (https://tickety.top). Tickety operates the underlying
    software and infrastructure as the hosting provider, and has been an established Discord ticket and
    support management platform since 2020.

    The bot provides server administrators with a complete support ticket system. Members open tickets by
    clicking buttons on customisable panel messages, which creates a private channel or thread between the
    member and the server's support staff. Staff assist the member within that channel and manage tickets
    through both Discord commands and the web dashboard (https://tickety.top/dashboard), which mirrors the
    conversation in both directions.

    Core features include:
    - Customisable ticket panels (embedded messages carrying the buttons that open a ticket)
    - Intake forms (questions presented to the member before the ticket channel is created)
    - Ticket transcripts (archived logs of ticket conversations, viewable on the web dashboard)
    - Role-based support teams (routing each ticket to the staff roles responsible for it)
    - Automatic ticket closure on inactivity, and close requests confirmed by the member
    - Thread-based ticket mode (using Discord threads in place of channels)
    - Staff applications, with a structured review and accept or deny workflow
    - Member verification (granting a role once a member completes a verification challenge)
    - Welcome and leave messages, including generated image cards
    - Automations (configured responses, polls, suggestion boards and self-assignable role pickers)
    - FAQ panels, giveaways, and a honeypot channel for spam bot detection
    - Support analytics for server administrators

    Full documentation with screenshots is available at https://tickety.top/docs
    ```
  </Accordion>

  <Accordion title="Do you have a public Privacy Policy telling your users about their data usage?">
    ```text title="Answer"
    Yes
    ```
  </Accordion>

  <Accordion title="Where is your Privacy Policy available?">
    ```text title="Answer"
    The Privacy Policy is published on the website of Tickety, the hosting provider that operates this bot
    and holds the data.
    ```
  </Accordion>

  <Accordion title="Please share a link to your Privacy Policy.">
    ```text title="Answer"
    https://tickety.top/legal/privacy-policy
    ```
  </Accordion>
</Accordions>

## Server Members intent [#server-members-intent]

Tick both **Server Members intent** and **Message Content intent** on the question that asks which you are applying
for.

<Accordions type="multiple">
  <Accordion title="Why do you need the Guild Members intent?">
    ```text title="Answer"
    The bot requires the Server Members intent for the following core functions:

    1. Permission and access control. Ticket panels can be restricted by role. When a member interacts
       with a panel, the bot resolves that member's roles to determine whether they are permitted to open
       the ticket.

    2. Staff identification and routing. Claiming, renaming, transferring, adding or removing a
       participant and closing are staff actions granted by role, and each panel defines the support roles
       that are added to the ticket channel and notified. Every one of these operations requires member
       role data before it can proceed.

    3. Member verification. The bot assigns a role to members who complete verification. Member join
       events are required so that the bot can determine whether a returning member should have that role
       restored or be asked to verify again.

    4. Welcome and leave messages. The bot posts a configurable message, and optionally a generated image
       card, when a member joins or leaves the server.

    5. Automatic ticket closure. Tickets are closed automatically when the member who opened them leaves
       the server, which the bot determines from member events.

    6. Ticket transcripts. Archived transcripts record the participants of a ticket, including username
       and avatar, so that staff can identify contributors when reviewing them on the dashboard.

    Member and role data is a prerequisite for every ticket operation the bot performs, and these features
    cannot function without this intent.
    ```
  </Accordion>

  <Accordion title="Please provide links to screenshots and/or videos that demonstrate your use case">
    ```text title="Answer"
    Documentation containing screenshots of these features is available at:

    - Ticket panels and role-based access: https://tickety.top/docs/gettingstarted/ticketpanel
    - Support roles and admin roles: https://tickety.top/docs/tickets/generalsettings
    - Dashboard access control for staff: https://tickety.top/docs/faq/dashboardaccess
    - Member verification and role assignment: https://tickety.top/docs/verification/configuration
    - Welcome and leave messages: https://tickety.top/docs/welcomer
    - Automatic closure when the ticket creator leaves: https://tickety.top/docs/tickets/autoclose
    - Ticket transcripts and their participant list: https://tickety.top/docs/tickets/logs

    Regarding data retention: tickets, transcripts and server configuration are held for the duration of a
    server's use of the bot, since the purpose of a transcript is to remain available for later reference.
    Data is deleted upon request, and administrators may disable transcript storage on a ticket panel to
    prevent it being recorded at all.
    ```
  </Accordion>

  <Accordion title="Are you storing any API Data off-platform (outside of Discord)?">
    ```text title="Answer"
    Yes
    ```
  </Accordion>

  <Accordion title="Are you storing API Data for 30 days or less?">
    ```text title="Answer"
    No
    ```
  </Accordion>

  <Accordion title="How do users contact you to request deletion of their activity data?">
    ```text title="Answer"
    Users can request deletion of their data through the following channels:

    1. By email to support@tickety.top, the contact address published in the Privacy Policy. Requests are
       processed within 30 days.
    2. Through the Tickety support server at https://tickety.top/support, where a support ticket can be
       opened with the Tickety team.
    3. Server administrators can disable transcript storage on a ticket panel to prevent any further data
       being stored, and can remove the bot from their server to end retention of that server's
       configuration data.

    The deletion process is documented in the Privacy Policy at https://tickety.top/legal/privacy-policy
    ```
  </Accordion>

  <Accordion title="Are you encrypting the data that you store at rest, as is required by our developer policy?">
    ```text title="Answer"
    Yes. Data is encrypted at rest.
    ```
  </Accordion>
</Accordions>

## Message Content intent [#message-content-intent]

<Accordions type="multiple">
  <Accordion title="Can users opt-out of having their message content data tracked?">
    ```text title="Answer"
    Yes. Transcript storage is controlled by the server administrator and can be disabled on each ticket
    panel, in which case no message content from that panel's tickets is stored. Message content is only
    retained from ticket channels and application responses; messages elsewhere in a server are evaluated
    against the triggers an administrator has configured and are not stored. Individual users may also
    request deletion of their data through the channels listed below.
    ```
  </Accordion>

  <Accordion title="Are you storing message content data off-platform (outside of Discord)?">
    ```text title="Answer"
    Yes
    ```
  </Accordion>

  <Accordion title="Are you storing user message content data for 30 days or less?">
    ```text title="Answer"
    No
    ```
  </Accordion>

  <Accordion title="How do users contact you to request deletion of their activity data?">
    ```text title="Answer"
    Users can request deletion of their data through the following channels:

    1. By email to support@tickety.top, the contact address published in the Privacy Policy. Requests are
       processed within 30 days.
    2. Through the Tickety support server at https://tickety.top/support, where a support ticket can be
       opened with the Tickety team.
    3. Server administrators can disable transcript storage on a ticket panel to prevent any further data
       being stored, and can remove the bot from their server to end retention of that server's
       configuration data.

    The deletion process is documented in the Privacy Policy at https://tickety.top/legal/privacy-policy
    ```
  </Accordion>

  <Accordion title="Are you encrypting the data that you store at rest, as is required by our developer policy?">
    ```text title="Answer"
    Yes. Data is encrypted at rest.
    ```
  </Accordion>

  <Accordion title="Will the message content data be used to train machine learning or AI Models?">
    ```text title="Answer"
    No. Message content is not used to train machine learning or AI models, either by Tickety or by any
    third party.

    The AI ticket features are optional and disabled by default. Where a server enables them, the messages
    concerned are sent to OpenAI, acting as a subprocessor, solely to generate a single response or
    summary for that server. OpenAI retains that data for up to 30 days for abuse monitoring before
    deleting it, and does not use it to train its models. Servers that do not enable these features send
    no message content to any AI provider.
    ```
  </Accordion>

  <Accordion title="Why do you need the Message Content intent?">
    ```text title="Answer"
    The bot requires the Message Content intent for the following core functions:

    1. Transcript generation. When a ticket is closed, the bot archives the messages sent in the ticket
       channel to produce a transcript, which staff and the member can review on the web dashboard.
       Without message content, transcripts would contain no conversation.

    2. Dashboard live chat. Ticket conversations are synchronised between Discord and the web dashboard in
       real time so that staff can respond from either interface. This requires reading message content as
       it is sent.

    3. Inactivity detection. The bot monitors ticket channels for new messages in order to measure how
       long a ticket has been inactive, which drives inactivity reminders and automatic ticket closure.

    4. Application submissions. Members answer application questions by sending messages, and the bot
       reads those responses to compile the submission that staff review.

    5. Automated responses. Administrators configure trigger phrases and patterns, and the bot evaluates
       incoming messages against them in order to post the configured response, poll or role picker.

    6. Spam protection. A honeypot channel detects spam bots and compromised accounts from messages posted
       in a channel that members are instructed never to use, and records the offending message in the
       moderation log.

    Without this intent, message content in ticket channels is unavailable, which renders transcripts,
    dashboard live chat, inactivity closure, applications and automated responses non-functional.
    ```
  </Accordion>

  <Accordion title="Please provide links to screenshots and/or videos that demonstrate your use case">
    ```text title="Answer"
    Documentation containing screenshots of these features is available at:

    - Ticket transcripts: https://tickety.top/docs/tickets/logs
    - Close settings and transcript delivery: https://tickety.top/docs/tickets/closesettings
    - Inactivity reminders: https://tickety.top/docs/tickets/inactivity
    - Automatic ticket closure: https://tickety.top/docs/tickets/autoclose
    - Application questions and member responses: https://tickety.top/docs/applications/questions
    - Automations triggered by message content: https://tickety.top/docs/automations/triggers
    - Honeypot spam detection: https://tickety.top/docs/server/honeypot
    ```
  </Accordion>
</Accordions>
