supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
discord-skill
Discord REST API 서버/채널 관리 스킬. 채널 CRUD, 권한 관리, 메시지 전송, 웹훅 지원. "Discord", "디스코드", "채널 관리", "discord bot" 키워드로 활성화.
Full skill instructions
Discord REST API를 활용하여 서버(길드)와 채널을 관리하는 스킬입니다. Bot 토큰 기반 인증으로 채널 CRUD, 권한 관리, 메시지 전송, 웹훅 작업을 지원합니다.
명시적 요청:
자동 활성화:
# 필수 - jelly-dotenv/.env에 설정
DISCORD_BOT_TOKEN= # Bot Token (Developer Portal에서 발급)
# 선택
DISCORD_APPLICATION_ID= # Application ID
DISCORD_GUILD_ID= # 기본 서버(길드) ID
DISCORD_DEFAULT_CHANNEL_ID= # 기본 채널 ID
bot, applications.commandsManage Channels, Send Messages, Manage Messageshttps://discord.com/api/v10
Authorization: Bot YOUR_BOT_TOKEN
Content-Type: application/json
# 환경 변수 로드
source skills/jelly-dotenv/load-env.sh
# 길드의 채널 목록 조회
curl -s -X GET \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels" | jq
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "new-channel",
"type": 0,
"topic": "채널 설명"
}' \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels" | jq
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"content": "Hello from Claude Code!"
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages" | jq
curl -s -X DELETE \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/channels/$CHANNEL_ID" | jq
| Type | 값 | 설명 |
|---|---|---|
| GUILD_TEXT | 0 | 텍스트 채널 |
| DM | 1 | DM 채널 |
| GUILD_VOICE | 2 | 음성 채널 |
| GROUP_DM | 3 | 그룹 DM |
| GUILD_CATEGORY | 4 | 카테고리 |
| GUILD_ANNOUNCEMENT | 5 | 공지 채널 |
| ANNOUNCEMENT_THREAD | 10 | 공지 스레드 |
| PUBLIC_THREAD | 11 | 공개 스레드 |
| PRIVATE_THREAD | 12 | 비공개 스레드 |
| GUILD_STAGE_VOICE | 13 | 스테이지 채널 |
| GUILD_DIRECTORY | 14 | 디렉토리 |
| GUILD_FORUM | 15 | 포럼 채널 |
| GUILD_MEDIA | 16 | 미디어 채널 |
| 권한 | Hex | Decimal | 설명 |
|---|---|---|---|
| VIEW_CHANNEL | 0x400 | 1024 | 채널 보기 |
| MANAGE_CHANNELS | 0x10 | 16 | 채널 관리 |
| SEND_MESSAGES | 0x800 | 2048 | 메시지 전송 |
| MANAGE_MESSAGES | 0x2000 | 8192 | 메시지 관리 |
| MANAGE_ROLES | 0x10000000 | 268435456 | 역할/권한 관리 |
| ADMINISTRATOR | 0x8 | 8 | 관리자 (모든 권한) |
// 여러 권한 조합
const permissions = VIEW_CHANNEL | SEND_MESSAGES | MANAGE_MESSAGES;
// 1024 | 2048 | 8192 = 11264
# 채널 정보 조회
curl -s -X GET \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/channels/$CHANNEL_ID" | jq
# 채널 수정
curl -s -X PATCH \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "updated-name",
"topic": "새로운 설명"
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID" | jq
# 음성 채널 생성
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Voice Room",
"type": 2,
"user_limit": 10
}' \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels" | jq
# 카테고리 생성
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Category",
"type": 4
}' \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels" | jq
# 역할에 채널 권한 설정
curl -s -X PUT \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": 0,
"allow": "3072",
"deny": "0"
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/permissions/$ROLE_ID"
# type: 0 = 역할, 1 = 멤버
# allow/deny: 권한 비트필드 문자열
# 메시지 목록 조회 (최근 50개)
curl -s -X GET \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages?limit=50" | jq
# Embed 메시지 전송
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "알림",
"description": "중요한 공지사항입니다.",
"color": 5814783,
"fields": [
{"name": "항목 1", "value": "내용 1", "inline": true},
{"name": "항목 2", "value": "내용 2", "inline": true}
]
}]
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages" | jq
# 메시지 삭제
curl -s -X DELETE \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages/$MESSAGE_ID"
# 메시지 일괄 삭제 (2주 이내, 2-100개)
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": ["MESSAGE_ID_1", "MESSAGE_ID_2"]
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages/bulk-delete"
# 웹훅 생성
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "My Webhook"
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/webhooks" | jq
# 웹훅으로 메시지 전송 (토큰 불필요)
curl -s -X POST \
-H "Content-Type: application/json" \
-d '{
"content": "Webhook message!",
"username": "Custom Bot Name"
}' \
"https://discord.com/api/v10/webhooks/$WEBHOOK_ID/$WEBHOOK_TOKEN"
# 메시지에서 스레드 생성
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Discussion Thread",
"auto_archive_duration": 1440
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages/$MESSAGE_ID/threads" | jq
# 스레드 없이 생성 (포럼/미디어 채널용)
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "New Thread",
"type": 11,
"auto_archive_duration": 60
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/threads" | jq
| 범위 | 제한 |
|---|---|
| 전역 | 50 req/sec |
| 메시지 전송 | 5 msg/5sec/channel |
| 메시지 삭제 | 별도 높은 제한 |
| 채널 수정 | 2 req/10min/channel |
X-RateLimit-Limit: 5
X-RateLimit-Remaining: 4
X-RateLimit-Reset: 1470173023.123
X-RateLimit-Reset-After: 1.456
X-RateLimit-Bucket: abc123
| 코드 | 의미 | 해결 방법 |
|---|---|---|
| 401 | Unauthorized | 토큰 확인 |
| 403 | Forbidden | 봇 권한 확인 |
| 404 | Not Found | ID 확인 |
| 429 | Rate Limited | 재시도 대기 |
| 50001 | Missing Access | 채널 접근 권한 없음 |
| 50013 | Missing Permissions | 필요 권한 부족 |
response=$(curl -s -w "\n%{http_code}" ...)
http_code=$(echo "$response" | tail -1)
body=$(echo "$response" | sed '$d')
if [ "$http_code" = "429" ]; then
retry_after=$(echo "$body" | jq -r '.retry_after')
sleep "$retry_after"
fi
# 환경 변수 로드
source skills/jelly-dotenv/load-env.sh
# 봇 연결 테스트
curl -s -H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/users/@me" | jq .username
채널 관리:
메시지 전송:
웹훅 작업:
사용자: "디스코드 서버의 채널 목록 보여줘"
Claude:
curl -s -X GET \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels" | jq
→ 채널 목록:
| 이름 | 타입 | ID |
|------|------|-----|
| general | 텍스트 | 123456789 |
| voice-chat | 음성 | 987654321 |
사용자: "announcements라는 공지 채널 만들어줘"
Claude:
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "announcements", "type": 0, "topic": "공지사항"}' \
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/channels"
→ 채널 "announcements" 생성 완료 (ID: 111222333)
사용자: "알림 채널에 배포 완료 메시지 보내줘"
Claude:
curl -s -X POST \
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"embeds": [{
"title": "배포 완료",
"description": "v1.2.3 배포가 완료되었습니다.",
"color": 5763719
}]
}' \
"https://discord.com/api/v10/channels/$CHANNEL_ID/messages"
→ 메시지 전송 완료
DO:
DON'T:
# 토큰 확인
echo $DISCORD_BOT_TOKEN | head -c 20
# 토큰 형식: Bot xxxxxxxxxxx
# retry_after 값만큼 대기 후 재시도
sleep $retry_after
/invite @bot 명령으로 채널에 봇 추가Version: 1.0.0 Last Updated: December 2025
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content