> ## Documentation Index
> Fetch the complete documentation index at: https://docs.razebot.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Uploader

> Track a team of uploaders — count posts automatically, award points, manage breaks, and rank your roster.

# Uploader

> Track a team of uploaders — count posts automatically, award points, manage breaks, and rank your roster.

## Overview

The uploader system tracks members who post content for your server. Every attachment sent in a configured uploader channel is recorded against that member's profile automatically, building a running count of uploads you can rank, review, and reward.

An upload is recorded automatically when:

* The message is sent in a configured uploader channel.
* It contains at least one attachment.
* The author has an uploader profile (they've been hired).
* The author is **not** currently on a break.

<Info>
  Members without a profile are ignored entirely. Hire someone first with `;uploader hire` before their posts start counting.
</Info>

***

## Setup

<Steps>
  <Step title="Set the uploader role">
    ```bash theme={null} theme={null}
    ;uploader config role (@role)
    ```

    ```bash theme={null} theme={null}
    ;uploader config role @Uploader
    ```

    This role is handed out automatically when you hire someone. Roles with dangerous permissions are refused.
  </Step>

  <Step title="Add an uploader channel">
    ```bash theme={null} theme={null}
    ;uploader config channel add (#channel)
    ```

    ```bash theme={null} theme={null}
    ;uploader config channel add #uploads
    ```

    Add as many channels as you need. Only attachments posted in these channels are counted.
  </Step>

  <Step title="Hire your uploaders">
    ```bash theme={null} theme={null}
    ;uploader hire (@member)
    ```

    ```bash theme={null} theme={null}
    ;uploader hire @wanderer
    ```

    Creates their profile and assigns the uploader role.
  </Step>
</Steps>

<Note>
  Setup commands require **Administrator** or a [Fake Permission](/security/fakepermissions) equivalent.
</Note>

***

## Configuration

<AccordionGroup>
  <Accordion title="Remove an uploader channel">
    Stops counting attachments posted there. Existing records are kept.

    ```bash theme={null} theme={null}
    ;uploader config channel remove (#channel)
    ```
  </Accordion>

  <Accordion title="Change the uploader role">
    Run the role command again with a different role. Existing uploaders keep the old role — only new hires receive the new one.

    ```bash theme={null} theme={null}
    ;uploader config role @Content Team
    ```
  </Accordion>
</AccordionGroup>

***

## Records

Uploads posted in a configured channel are recorded for you. These commands cover anything posted elsewhere, plus layouts, which are always recorded manually.

<Tabs>
  <Tab title="Add an upload">
    ```bash theme={null} theme={null}
    ;uploader upload add [details]
    ```

    ```bash theme={null} theme={null}
    ;uploader upload add banner set for the announcement channel
    ```

    Returns the record ID, which you need in order to delete it later.
  </Tab>

  <Tab title="Add a layout">
    ```bash theme={null} theme={null}
    ;uploader layout add [details]
    ```

    ```bash theme={null} theme={null}
    ;uploader layout add full server layout — 12 channels
    ```

    Layouts are counted separately from uploads on the profile.
  </Tab>

  <Tab title="Delete a record">
    ```bash theme={null} theme={null}
    ;uploader upload delete (id)
    ;uploader layout delete (id)
    ```

    ```bash theme={null} theme={null}
    ;uploader upload delete 42
    ```

    Deleting a record also decrements the matching total on the profile, never below zero.
  </Tab>
</Tabs>

<Note>
  Adding an upload or layout is open to any uploader. Deleting a record requires **Manage Messages**.
</Note>

***

## Points

Points are awarded by staff and are what the leaderboard ranks on, so you can reward quality rather than volume alone.

<AccordionGroup>
  <Accordion title="Award or deduct points">
    ```bash theme={null} theme={null}
    ;uploader points add (@member) (amount)
    ;uploader points remove (@member) (amount)
    ```

    ```bash theme={null} theme={null}
    ;uploader points add @wanderer 50
    ```
  </Accordion>

  <Accordion title="Set or clear a total">
    ```bash theme={null} theme={null}
    ;uploader points set (@member) (amount)
    ;uploader points clear (@member)
    ```

    `clear` resets the member to `0`.
  </Accordion>

  <Accordion title="View points">
    ```bash theme={null} theme={null}
    ;uploader points view [@member]
    ```

    Omit the member to view your own.
  </Accordion>
</AccordionGroup>

<Note>
  Adding, removing, setting, and clearing points require **Administrator**. Viewing is open to everyone.
</Note>

***

## Breaks

An uploader on a break keeps their profile but stops being counted, so time off doesn't dent their stats.

<Tabs>
  <Tab title="Start">
    ```bash theme={null} theme={null}
    ;uploader break start
    ```

    Attachments you post while on a break are not recorded.
  </Tab>

  <Tab title="End">
    ```bash theme={null} theme={null}
    ;uploader break end
    ```
  </Tab>

  <Tab title="Who's on break">
    ```bash theme={null} theme={null}
    ;uploader break list
    ```

    Lists everyone currently on a break and how long they've been away.
  </Tab>
</Tabs>

***

## Profiles & ranking

<Tabs>
  <Tab title="Profile">
    ```bash theme={null} theme={null}
    ;uploader profile [@member]
    ```

    Shows server rank, total uploads, uploads today, uploads this week, layouts, points, and the last upload time. Omit the member to view your own.
  </Tab>

  <Tab title="Leaderboard">
    ```bash theme={null} theme={null}
    ;uploader leaderboard
    ```

    Top 10 uploaders, ranked by points and then by total uploads. Aliased to `;uploader lb`.
  </Tab>

  <Tab title="Request a review">
    ```bash theme={null} theme={null}
    ;uploader reviewask
    ```

    DMs the server owner a summary of your uploads, layouts, and points. Fails if the owner has DMs closed.
  </Tab>
</Tabs>

***

## Notes

* Only **attachments** count. A message with a link but no file is not recorded.
* Each message is recorded once, and its jump link is stored as the record's details so staff can trace it back.
* Removing a channel or role never deletes existing records or profiles.
