---
name: Discord Reader
slug: discord-reader
category: Automation
description: Discord Reader reads Discord channels and messages using opencli, a read-only CLI tool for financial research. Use it to search trading servers, monitor crypto or market discussion groups, and gather sentiment from Discord.
github: "https://github.com/himself65/finance-skills/tree/main/plugins/social-readers/skills/discord-reader"
language: JavaScript
stars: 3177
forks: 368
install: "npx degit https://github.com/himself65/finance-skills/tree/main/plugins/social-readers/skills/discord-reader ~/.claude/skills/discord-reader"
installs_to: ~/.claude/skills/discord-reader
source_path: plugins/social-readers/skills/discord-reader/SKILL.md
collection_size: 25
category_size: 1523
collection_url: "https://dirskills.com/collections/himself65/finance-skills"
added: 2026-08-17T07:09:02.778Z
last_synced: 2026-08-17T07:09:02.778Z
canonical_url: "https://dirskills.com/skills/discord-reader"
---

# Discord Reader

Discord Reader reads Discord channels and messages using opencli, a read-only CLI tool for financial research. Use it to search trading servers, monitor crypto or market discussion groups, and gather sentiment from Discord.

**Install:**

```bash
npx degit https://github.com/himself65/finance-skills/tree/main/plugins/social-readers/skills/discord-reader ~/.claude/skills/discord-reader
```

## README

# Discord Skill (Read-Only)

Reads Discord for financial research using [opencli](https://github.com/jackwener/opencli), a universal CLI tool that bridges desktop apps and web services to the terminal via Chrome DevTools Protocol (CDP).

**This skill is read-only.** It is designed for financial research: searching trading server discussions, monitoring crypto/market groups, tracking sentiment in financial communities, and reading messages. It does NOT support sending messages, reacting, editing, deleting, or any write operations.

**Important**: opencli connects to the Discord desktop app via CDP — no bot account or token extraction needed. Just have Discord Desktop running.

---

## Step 1: Ensure opencli Is Installed and Discord Is Ready

**Current environment status:**

```
!`(command -v opencli && opencli discord-app status 2>&1 | head -5 && echo "READY" || echo "SETUP_NEEDED") 2>/dev/null || echo "NOT_INSTALLED"`
```

If the status above shows `READY`, skip to Step 2. If `NOT_INSTALLED`, install first:

```bash
# Install opencli globally
npm install -g @jackwener/opencli
```

If `SETUP_NEEDED`, guide the user through setup:

### Setup

opencli requires Node.js >= 20. It connects to Discord Desktop via CDP (Chrome DevTools Protocol) — no Browser Bridge extension is needed for the Discord adapter. Two things are required:

1. **Start Discord with remote debugging enabled:**

```bash
# macOS
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &

# Linux
discord --remote-debugging-port=9232 &
```

2. **Set the CDP endpoint environment variable:**

```bash
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
```

Add this to your shell profile (`.zshrc` / `.bashrc`) so it persists across sessions.

3. **Verify connectivity:**

```bash
opencli discord-app status
```

### Common setup issues

| Symptom | Fix |
|---------|-----|
| `CDP connection refused` | Ensure Discord is running with `--remote-debugging-port=9232` |
| `OPENCLI_CDP_ENDPOINT not set` | Run `export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"` |
| `status` shows disconnected | Restart Discord with the CDP flag and retry |
| Discord not on expected port | Check that no other app is using port 9232, or use a different port |

### Tip: create a shell alias

```bash
alias discord-cdp='/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &'
```

---

## Step 2: Identify What the User Needs

Match the user's request to one of the read commands below, then use the corresponding command from `references/commands.md`.

| User Request | Command | Key Flags |
|---|---|---|
| Connection check | `opencli discord-app status` | — |
| List servers | `opencli discord-app servers` | `-f json` |
| List channels | `opencli discord-app channels` | `-f json` |
| List online members | `opencli discord-app members` | `-f json` |
| Read recent messages | `opencli discord-app read` | `N` (count), `-f json` |
| Search messages | `opencli discord-app search "QUERY"` | `-f json` |

**Note:** opencli operates on the **currently active** server and channel in Discord. To read from a different channel, the user must navigate to it in the Discord app first, or use the `channels` command to identify what's available.

---

## Step 3: Execute the Command

### General pattern

```bash
# Use -f json or -f yaml for structured output
opencli discord-app servers -f json
opencli discord-app channels -f json

# Read recent messages from the active channel
opencli discord-app read 50 -f json

# Search for financial topics in the active channel
opencli discord-app search "AAPL earnings" -f json
opencli discord-app search "BTC pump" -f json
```

### Key rules

1. **Check connection first** — run `opencli discord-app status` before any other command
2. **Use `-f json` or `-f yaml`** for structured output when processing data programmatically
3. **Navigate in Discord first** — opencli reads from the currently active server/channel in the Discord app
4. **Start with small reads** — use `opencli discord-app read 20` unless the user asks for more
5. **Use search for keywords** — `opencli discord-app search` uses Discord's built-in search (Cmd+F / Ctrl+F)
6. **NEVER execute write operations** — this skill is read-only. opencli exposes `discord-app send` and `discord-app delete` commands; do not invoke them. Do not send messages, react, edit, delete, or manage server settings.

### Output format flag (`-f`)

| Format | Flag | Best for |
|---|---|---|
| Table | `-f table` (default) | Human-readable terminal output |
| JSON | `-f json` | Programmatic processing, LLM context |
| YAML | `-f yaml` | Structured output, readable |
| Markdown | `-f md` | Documentation, reports |
| CSV | `-f csv` | Spreadsheet export |

### Typical workflow for reading a server

```bash
# 1. Verify connection
opencli discord-app status

# 2. List servers to confirm you're in the right one
opencli discord-app servers -f json

# 3. List channels in the current server
opencli discord-app channels -f json

# 4. Read recent messages (navigate to target channel in Discord first)
opencli discord-app read 50 -f json

# 5. Search for topics of interest
opencli discord-app search "price target" -f json
```

---

## Step 4: Present the Results

After fetching data, present it clearly for financial research:

1. **Summarize key content** — highlight the most relevant messages for the user's financial research
2. **Include attribution** — show username, message content, and timestamp
3. **For search results**, group by relevance and highlight key themes, sentiment, or market signals
4. **For server/channel listings**, present as a clean table with names and types
5. **Flag sentiment** — note bullish/bearish sentiment, consensus vs contrarian views
6. **Treat sessions as private** — never expose CDP endpoints or session details

---

## Step 5: Diagnostics

If something isn't working, check:

1. **Is Discord running with CDP?**
```bash
# Check if the port is open
lsof -i :9232
```

2. **Is the environment variable set?**
```bash
echo $OPENCLI_CDP_ENDPOINT
```

3. **Can opencli connect?**
```bash
opencli discord-app status
```

If all checks fail, restart Discord with the CDP flag:
```bash
/Applications/Discord.app/Contents/MacOS/Discord --remote-debugging-port=9232 &
export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"
opencli discord-app status
```

---

## Error Reference

| Error | Cause | Fix |
|-------|-------|-----|
| `CDP connection refused` | Discord not running with CDP or wrong port | Start Discord with `--remote-debugging-port=9232` |
| `OPENCLI_CDP_ENDPOINT not set` | Missing environment variable | `export OPENCLI_CDP_ENDPOINT="http://127.0.0.1:9232"` |
| `No active channel` | Not viewing any channel in Discord | Navigate to a channel in the Discord app |
| Rate limited | Too many requests | Wait a few minutes, then retry |

---

## Reference Files

- `references/commands.md` — Complete read command reference with all flags and usage examples

Read the reference file when you need exact command syntax or detailed flag descriptions.
