360 Secure SkillHub
360 安全技能中心

Discord Roster

通过 Bash 脚本调用 Discord REST API,以只读方式列出服务器成员(可区分机器人与人类)、频道列表、频道详情、服务器角色,并可由频道反查所属服务器;结果以制表符分隔文本输出,需配置 Discord 机器人令牌。

1587causalai
1587causalai
热度 87.29
最近更新 2026-05-11 17:33:46
分类:协作依赖:代码执行 / 第三方 API应用场景:API 集成 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add discord-roster
Metadata
name
discord-roster
description
Query Discord guild members, list bots, get channel and role info via REST API. Use when: listing server members, checking who's a bot, viewing channel permissions, inspecting guild roles, or auditing a Discord server's roster.
metadata
{"openclaw":{"emoji":"📋","requires":{"config":["channels.discord.token"]}}}
allowed-tools
["exec"]

Discord Roster

Inspect Discord guilds: members, bots, channels, roles. Read-only queries via REST API.

Setup

The script scripts/discord-roster.sh handles everything. It reads the bot token from ~/.openclaw/openclaw.json and auto-detects proxy settings.

Usage

bash skills/discord-roster/scripts/discord-roster.sh <command> [args...]

Commands

List guild members (most common):

# All members
bash skills/discord-roster/scripts/discord-roster.sh members <guild_id>

# Bots only
bash skills/discord-roster/scripts/discord-roster.sh members <guild_id> --bots

# Humans only
bash skills/discord-roster/scripts/discord-roster.sh members <guild_id> --humans

Get channel info:

bash skills/discord-roster/scripts/discord-roster.sh channel <channel_id>

List guild channels:

bash skills/discord-roster/scripts/discord-roster.sh channels <guild_id>

List guild roles:

bash skills/discord-roster/scripts/discord-roster.sh roles <guild_id>

Look up which guild a channel belongs to:

bash skills/discord-roster/scripts/discord-roster.sh guild-of <channel_id>

Output

All commands output clean, tab-separated text for easy parsing. Example for members:

TYPE    USERNAME        DISPLAY_NAME    ID                  JOINED_AT           ROLES
BOT     my-bot          —               1234567890123456789 2026-01-15T10:30    9876543210987654321
BOT     helper-bot      —               2345678901234567890 2026-01-15T10:31    —
HUMAN   johndoe         John            3456789012345678901 2026-01-15T10:25    —

Proxy

The script checks for proxy in this order:

  1. channels.discord.proxy in openclaw.json
  2. HTTPS_PROXY / https_proxy env var
  3. Direct connection (no proxy)

Troubleshooting

  • 403 Forbidden: Bot lacks SERVER MEMBERS INTENT — enable in Discord Developer Portal > Bot > Privileged Gateway Intents.
  • Unknown Guild: Bot isn't in that guild. Invite it first.
  • Connection timeout: Check proxy settings. Discord requires external network access.