Skip to content
Back to skills

Discord Sync

ASecurity

Smart Discord sync - automatically detects tokens and permissions to choose the optimal sync method. Use when user asks to sync Discord messages.

  • 5 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
ai-agentspythonbashapi

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add lycfyi/community-agent-plugin --skill discord-sync --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Discord Sync?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Discord Sync
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lycfyi-discord-sync/badge)](https://www.skillsdirectory.com/skills/lycfyi-discord-sync)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: discord-sync
description: "Smart Discord sync - automatically detects tokens and permissions to choose the optimal sync method. Use when user asks to sync Discord messages."
---

# Discord Sync (Smart Router)

Automatically detects available tokens and bot permissions to route to the optimal sync connector.

## When to Use

- User asks to "sync Discord messages"
- User asks to "pull messages from Discord"
- User wants to "get Discord history"
- User wants to "update Discord data"
- User wants to "download Discord messages"
- User asks to "fetch messages from #channel"

## How It Works

This skill runs a preflight check before syncing:

1. **Token Detection** - Checks which tokens are configured in `.env`
2. **Token Validation** - Verifies tokens are valid by calling Discord API
3. **Permission Check** - For bot token, verifies server access and required permissions
4. **Smart Routing** - Recommends the optimal connector based on results

## Routing Logic

| Scenario | Connector Used | Reason |
|----------|----------------|--------|
| Syncing DMs | `discord-user-connector` | Bots cannot access DMs |
| Bot token valid + has permissions | `discord-bot-connector` | Faster, higher rate limits |
| Bot token valid but lacks permissions | `discord-user-connector` | Fallback |
| Only user token available | `discord-user-connector` | Only option |
| Only bot token available | `discord-bot-connector` | Only option (no DMs) |
| No valid tokens | Error | Configuration needed |

## How to Execute

### Step 1: Run Preflight Check

```bash
# Check for specific server
python ${CLAUDE_PLUGIN_ROOT}/tools/discord_preflight.py --server SERVER_ID

# Check for DM sync
python ${CLAUDE_PLUGIN_ROOT}/tools/discord_preflight.py --dms

# JSON output for programmatic use
python ${CLAUDE_PLUGIN_ROOT}/tools/discord_preflight.py --server SERVER_ID --json
```

### Step 2: Route Based on Result

The preflight check returns a recommendation. Execute the recommended skill:

**If recommendation is `discord-bot-connector:discord-sync`:**
```
Skill(skill: "discord-bot-connector:discord-sync")
```

**If recommendation is `discord-user-connector:discord-sync`:**
```
Skill(skill: "discord-user-connector:discord-sync")
```

## Example Preflight Output

```
==================================================
Discord Sync Preflight Check
==================================================

Token Status:
  User Token: valid
  Bot Token:  valid

Bot Permissions:
  Server: My Community Server
  Has Access: Yes
  View Channels: Yes
  Read History: Yes

Recommendation:
  Use: discord-bot-connector:discord-sync
  Reason: Bot has access to My Community Server with required permissions (faster sync)
```

## Preflight JSON Output

```json
{
  "user_token": {"configured": true, "valid": true, "error": null},
  "bot_token": {"configured": true, "valid": true, "error": null},
  "bot_permissions": {
    "server_id": "123456789",
    "server_name": "My Community Server",
    "has_access": true,
    "can_view_channels": true,
    "can_read_history": true,
    "error": null
  },
  "wants_dms": false,
  "recommendation": "discord-bot-connector:discord-sync",
  "reason": "Bot has access to My Community Server with required permissions (faster sync)"
}
```

## Smart Defaults

When user is vague, use these defaults:

| User Says | Action |
|-----------|--------|
| "sync discord" | Run preflight with default server from config |
| "sync my DMs" | Run preflight with `--dms` flag |
| "sync [server name]" | Find server ID, run preflight, then sync |

## Prerequisites

- `.env` file with at least one Discord token:
  - `DISCORD_USER_TOKEN` - For user token sync (servers + DMs)
  - `DISCORD_BOT_TOKEN` - For bot token sync (servers only, faster)
- `aiohttp` library installed for API calls

## Connector Comparison

| Feature | Bot Connector | User Connector |
|---------|---------------|----------------|
| Rate Limits | Higher (official API) | Lower |
| Server Messages | Yes | Yes |
| DM Access | No | Yes |
| Rich Profiles | No | Yes |
| ToS Compliant | Yes | Gray area |

## Troubleshooting

**Bot token valid but "lacks permissions":**
- Ensure bot has "Read Message History" permission in Discord
- Check if bot role is above restricted channels
- Try re-inviting bot with correct permissions

**User token invalid:**
- Token may have expired - get a new one
- Ensure token is copied correctly (no extra spaces)

**No tokens configured:**
- Create `.env` file in project root
- Add `DISCORD_USER_TOKEN=your_token` or `DISCORD_BOT_TOKEN=your_token`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.