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

# Community Tools: Giveaways, Polls, and Welcome System

> Run giveaways, welcome new members with custom embeds, set up reaction roles, run polls, and automate announcements — all with Seshy's Community module.

Seshy's Community module handles the member-facing features that make your server feel polished, active, and welcoming. Whether you're running a giveaway to reward loyal members, automating a custom welcome flow for new arrivals, or posting a branded announcement to your whole community, every tool is built to work out of the box and customized through `/settings` — no bots to juggle, no webhooks to configure manually.

## Overview

<CardGroup cols={2}>
  <Card title="Giveaways" icon="gift" href="#giveaways">
    Role-restricted giveaways with automated winner selection and reroll support.
  </Card>

  <Card title="Welcome System" icon="door-open" href="#welcome-system">
    Custom welcome embeds, DMs, and automatic role assignment for new members.
  </Card>

  <Card title="Roblox Integration" icon="cube" href="#roblox-integration">
    Link Roblox accounts via OAuth2 for verified usernames and nickname automation.
  </Card>

  <Card title="Reaction Roles" icon="hand-pointer" href="#reaction-roles">
    Button and reaction menus for self-assignable roles, organized by category.
  </Card>

  <Card title="Auto-Moderation" icon="shield-halved" href="#auto-moderation">
    Built-in anti-links, anti-invites, anti-phishing, and anti-spam protection.
  </Card>

  <Card title="Polls & Feedback" icon="chart-bar" href="#polls--feedback">
    Real-time community polls with custom options, anonymous mode, and live result tracking.
  </Card>

  <Card title="Announcements" icon="bullhorn" href="#announcements">
    Branded announcement embeds with cross-posting, scheduling, and role-specific targeting.
  </Card>

  <Card title="Server Insights" icon="chart-line" href="#server-insights">
    Track member join and leave rates, channel activity, and role distribution over time.
  </Card>
</CardGroup>

## Giveaways

Run engaging giveaways directly in Discord with full control over who can enter and how long the giveaway runs. When you create a giveaway, Seshy posts a branded embed in your designated giveaway channel and tracks all entries. When the timer expires, Seshy automatically selects a winner, announces them in the same thread, and optionally pings the winning member.

**Giveaway options at a glance:**

* **Duration** — set any length from minutes to days
* **Prize** — custom prize text displayed prominently in the embed
* **Eligible Roles** — restrict entry to specific roles (e.g., members who have verified their Roblox account or hold a certain rank)
* **Reroll** — if the winner is unavailable or ineligible, run `/giveaway reroll [id]` to immediately draw a new winner without recreating the giveaway

## Welcome System

Seshy's Welcome System lets you craft a complete first impression for every new member. Configure your welcome flow in `/settings → Welcome` to combine a channel embed, an optional DM, and automatic role assignment into a seamless onboarding experience.

<Tabs>
  <Tab title="Welcome Messages">
    When a new member joins, Seshy sends a fully customizable embed to your configured welcome channel. You control the message text, embed color, banner image, and footer. Reference the member's username and mention them directly in the message so they feel seen immediately.
  </Tab>

  <Tab title="Welcome DMs">
    Optionally send a private DM to every new member on join. Use this to deliver server rules, verification instructions, or a friendly greeting without cluttering your welcome channel.
  </Tab>

  <Tab title="Welcome Roles">
    Automatically assign one or more roles to every new member on join. Use this to grant a base "Member" role, unlock verification channels, or apply any entry-level role your permission structure requires — no manual intervention needed.
  </Tab>
</Tabs>

<Note>
  When Roblox Integration is connected, the Welcome System can automatically set a new member's Discord nickname to their verified Roblox username as soon as they join and complete verification. Enable **Welcome Nicknames** in `/settings → Welcome` after linking your Roblox integration.
</Note>

## Roblox Integration

Members can link their Roblox account to their Discord profile using Seshy's OAuth2-based verification flow. The process is fully guided: the member signs in with Discord, then authenticates their Roblox account through the official Roblox OAuth2 flow. Once linked, their verified Roblox username is attached to their Discord profile inside your server.

This integration powers several downstream features:

* **Verified display names** — the member's profile reflects their Roblox identity
* **Welcome Nicknames** — automatically set their server nickname to their Roblox username on join
* **Role-gated giveaways and features** — restrict access based on verified Roblox identity
* **ERLC workflows** — cross-reference in-game player identity with Discord membership for moderation and staff management

## Reaction Roles

Give your members the ability to self-assign roles using clean, interactive button and reaction menus. Set up multiple menus per server to organize roles by category — for example, a notification preferences menu, a department interest menu, and a rank display menu can all live in the same channel without overlapping.

Each reaction role menu supports:

* **Button menus** — modern Discord button components for a clean, clickable UI
* **Reaction menus** — classic emoji reactions for broader compatibility
* **Role descriptions** — add descriptive text to each role option so members know what they're selecting
* **Role limits** — optionally cap how many roles from a menu a member can hold at once

Run `/reactionroles setup` to build a new menu interactively and choose the channel it posts to.

## Auto-Moderation

Seshy includes built-in automated content moderation that runs independently of your staff team, keeping your channels clean around the clock. Each protection layer is configurable — you can enable or disable individual rules and set exempt channels where the rules don't apply.

<Accordion title="Anti-Links">
  Block members from posting unauthorized URLs in your server. Define an allowlist of permitted domains (such as your own Roblox group page or official resources), and Seshy automatically removes any message containing a link not on the list.
</Accordion>

<Accordion title="Anti-Invites">
  Prevent members from sharing Discord server invite links. This stops raid advertising and unauthorized server promotion without requiring manual staff monitoring of every channel.
</Accordion>

<Accordion title="Anti-Phishing">
  Detect and remove known phishing URLs in real time. Seshy checks posted links against a continuously updated phishing URL database and deletes matches before members can click them.
</Accordion>

<Accordion title="Anti-Spam">
  Rate-limit message spam by tracking message frequency per user. If a member exceeds the configured message threshold in a short window, Seshy automatically mutes them and notifies your moderation log channel.
</Accordion>

## Polls & Feedback

Create community polls with custom options and run them for a set duration. Seshy tracks votes in real time and displays results as they come in. When the poll closes, Seshy announces the final tally in the same message thread.

**Poll options:**

* Up to multiple custom answer choices
* Configurable duration (hours or days)
* **Anonymous mode** — members see aggregate vote counts but not who voted for what
* Real-time result updates visible to all participants

Use polls for session scheduling votes, rule change feedback, event planning, or any community decision that benefits from member input.

## Announcements

Post branded announcement embeds to your server using Seshy's Announcements feature. Every announcement embed reflects your server's configured branding — colors, banner, and footer — so your communications look consistent and professional.

Key capabilities:

* **Cross-posting** — send the same announcement to multiple channels simultaneously
* **Scheduling** — queue announcements for future delivery at a specific time
* **Role-specific targeting** — send announcements only to members with specific roles
* **Custom formatting** — full control over title, body text, fields, and embed appearance

Run `/announce` to begin composing an announcement interactively.

## Server Insights

Seshy tracks your server's growth and activity over time and surfaces that data on demand. Server Insights gives you a snapshot of member join and leave rates, channel activity levels, and role distribution — useful for measuring the impact of community events, giveaways, or onboarding improvements.

<Info>
  Server Insights data is visible to administrators and roles with the appropriate permission level configured in `/settings → Permissions`.
</Info>

## Key Commands

| Command                 | Description                                                    |
| ----------------------- | -------------------------------------------------------------- |
| `/giveaway create`      | Create a new giveaway with prize, duration, and eligible roles |
| `/giveaway reroll [id]` | Reroll a giveaway to select a new winner                       |
| `/poll create`          | Create a new community poll with custom options                |
| `/reactionroles setup`  | Set up a new reaction role or button menu                      |
| `/announce`             | Post a branded announcement embed to one or more channels      |
