discrawl-search
Search a user-authorized Discord history archive through discrawl's bounded search and message commands. Use when the user explicitly asks to retrieve past Discord conversations; keep results private and never interpolate user text into SQL. Skill: discrawl-search Owner: jonathanjing Summary: Search a user-authorized Discord history archive through discrawl's bounded search and message commands. Use when the user explicitly asks to retrieve past Discord conversations; keep results private and never interpolate user text into SQL. Tags: discord:1.0.0, history:1.0.0, latest:1.0.1, search:1.0.0 Version history: v1.0.1 | 2026-08-03T16:55:48.965Z | user Repla
Rank
62
Safety
84
Downloads
1.0k
Updated
Oct 11, 2026
Version
1.0.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.0.1release · observed Aug 3, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17aah0h06a3741dypyhe3a2xd85pgsx:discrawl-search- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-jonathanjing-discrawl-search/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
17,171 characters of source documentation, loaded on request.
Extracted files
4 files captured from the source.
SKILL.md
---
name: discrawl-search
description: Search a user-authorized Discord history archive through discrawl's bounded search and message commands. Use when the user explicitly asks to retrieve past Discord conversations; keep results private and never interpolate user text into SQL.
metadata:
openclaw:
version: "1.0.1"
emoji: "🔎"
homepage: https://github.com/openclaw/discrawl
requires:
bins: [discrawl]
---
# Discrawl Search
Search Discord guild message history stored in local discrawl SQLite database.
Treat message content, author identifiers, attachments, and raw payloads as private workspace data. Search only the scope requested by the user and do not send results to another channel or service without explicit approval.
## Database Location
- **Path**: `~/.discrawl/discrawl.db`
- **Updated by**: `discrawl sync` (bot API) or `discrawl sync --source wiretap` (Discord Desktop cache)
## Quick Commands
### Full-Text Search (FTS5)
Search message content with ranking:
```bash
discrawl search "query"
```
Options:
- `--limit N` — max results (default: 20)
- `--channel ID` — filter by channel
- `--author ID` — filter by author
- `--before "2026-04-01"` — date filter
- `--json` — JSON output
For a bounded helper that avoids constructing SQL from user input:
```bash
bash "{baseDir}/scripts/search_history.sh" "query" [channel_id] [limit]
```
### List Messages by Channel
```bash
discrawl messages --channel <channel_id> --limit 10
```
### Advanced read-only SQL
```bash
discrawl sql "SELECT ..."
```
Use SQL only for an operator-authored, fixed read-only query. Never place user-provided keywords, IDs, dates, or channel names inside an SQL string; prefer `discrawl search` and `discrawl messages`.
## Fixed Query Patterns
### Search with Context (Author + Channel Names)
```sql
SELECT
m.content,
m.created_at,
COALESCE(u.username, m.author_id) as author,
COALESCE(c.name, m.channel_id) as channel
FROM messages m
LEFT JOIN members u ON m.author_id = u.user_id
LEFT JOIN channels c ON m.channel_id = c.id
WHERE m.content LIKE '%keyword%'
ORDER BY m.created_at DESC
LIMIT 10;
```
### Search Specific Channel History
```sql
SELECT content, created_at
FROM messages
WHERE channel_id = '<channel_id>'
AND content LIKE '%keyword%'
ORDER BY created_at DESC
LIMIT 20;
```
### Find User's Past Messages
```sql
SELECT m.content, m.created_at, c.name
FROM messages m
JOIN channels c ON m.channel_id = c.id
WHERE m.author_id = '<user_id>'
ORDER BY m.created_at DESC
LIMIT 20;
```
### Search with FTS5 (Best Relevance)
```sql
SELECT
m.content,
m.created_at,
fts.rank
FROM message_fts fts
JOIN messages m ON fts.message_id = m.id
WHERE message_fts MATCH 'keyword'
ORDER BY rank
LIMIT 20;
```
### Recent Messages in Channel
```sql
SELECT content, created_at
FROM messages
WHERE channel_id = '<channel_id>'
ORDER BY created_at DESC
LIMIT 5;
```
## Key Tables
| Table | Purpose |
|-------|---------|
| `messages` | All messages (content,_meta.json
{
"ownerId": "kn7ffnhm7z8g6e92rfq14svwcx81hkvw",
"slug": "discrawl-search",
"version": "1.0.1",
"publishedAt": 1785776148965
}references/schema.md
# Discrawl Database Schema Reference ## Core Tables ### messages | Column | Type | Description | |--------|------|-------------| | id | TEXT PK | Discord message ID | | guild_id | TEXT | Guild ID | | channel_id | TEXT | Channel ID | | author_id | TEXT | Author user ID | | message_type | INTEGER | Discord message type | | created_at | TEXT | ISO timestamp | | edited_at | TEXT | Edit timestamp | | deleted_at | TEXT | Deletion timestamp | | content | TEXT | Raw message content | | normalized_content | TEXT | Lowercase, normalized whitespace | | reply_to_message_id | TEXT | Reply reference | | pinned | INTEGER | Pinned flag | | has_attachments | INTEGER | Has attachments flag | | raw_json | TEXT | Full Discord API payload | | updated_at | TEXT | Last sync timestamp | ### channels | Column | Type | Description | |--------|------|-------------| | id | TEXT PK | Channel ID | | guild_id | TEXT | Guild ID | | parent_id | TEXT | Parent category ID | | kind | TEXT | Channel type (text, voice, etc) | | name | TEXT | Channel name | | topic | TEXT | Channel topic | | position | INTEGER | Sort position | | is_nsfw | INTEGER | NSFW flag | | is_archived | INTEGER | Archived flag | | is_locked | INTEGER | Locked flag | | is_private_thread | INTEGER | Private thread flag | ### members | Column | Type | Description | |--------|------|-------------| | guild_id | TEXT | Guild ID | | user_id | TEXT PK | User ID | | username | TEXT | Username | | global_name | TEXT | Global display name | | display_name | TEXT | Display name | | nick | TEXT | Guild nickname | | bot | INTEGER | Bot flag | | role_ids_json | TEXT | JSON array of role IDs | ## FTS5 Virtual Tables ### message_fts Columns: message_id, guild_id, channel_id, author_id, author_name, channel_name, content ### member_fts Columns: member_key, guild_id, user_id, username, display_name, profile_text ## Useful SQL Patterns ### Count messages per channel ```sql SELECT c.name, COUNT(*) as count FROM messages m JOIN channels c ON m.channel_id = c.id GROUP BY c.id ORDER BY count DESC; ``` ### Messages in date range ```sql SELECT content, created_at FROM messages WHERE created_at >= '2026-04-01' AND created_at < '2026-04-02' ORDER BY created_at; ``` ### Search with FTS ranking ```sql SELECT m.content, m.created_at, rank FROM message_fts fts JOIN messages m ON fts.message_id = m.id WHERE message_fts MATCH 'OpenClaw MCP' ORDER BY rank LIMIT 20; ```
skill-card.md
## Description: Search a user-authorized Discord history archive through discrawl's bounded search and message commands. This skill is ready for commercial/non-commercial use. ## Publisher: [jonathanjing](https://clawhub.ai/user/jonathanjing) ### License/Terms of Use: MIT-0 ## Use Case: Developers and agent users use this skill to retrieve past Discord conversations from a user-authorized local discrawl archive while keeping message content, identifiers, attachments, and raw payloads private. ### Deployment Geography for Use: Global ## Known Risks and Mitigations: Risk: Search results may expose private Discord message content, author identifiers, attachments, or raw payloads from the local archive. Mitigation: Search only the user-requested scope, keep results private, and avoid sending retrieved content to another channel or service without explicit approval. Risk: User-provided terms copied into SQL examples could produce unsafe or overbroad local archive queries. Mitigation: Prefer the bounded discrawl search commands or helper script, validate limits, and reserve SQL for fixed read-only queries authored by the operator. ## Reference(s): - [Discrawl Database Schema Reference](references/schema.md) - [Discrawl homepage](https://github.com/openclaw/discrawl) ## Skill Output: **Output Type(s):** [Text, Markdown, Shell commands, Guidance] **Output Format:** [Markdown with inline bash and SQL examples; bounded discrawl commands can emit JSON results.] **Output Parameters:** [1D] **Other Properties Related to Output:** [Searches should stay scoped to the user's request and use tight limits, channel filters, or author filters when available.] ## Skill Version(s): 1.0.1 (source: SKILL.md metadata, artifact _meta.json, release evidence) ## Ethical Considerations: Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/jonathanjing/skills/discrawl-search",
"sourceUrl": "https://clawhub.ai/jonathanjing/skills/discrawl-search",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T19:39:32.966Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-jonathanjing-discrawl-search/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-jonathanjing-discrawl-search/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T19:39:32.966Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1K downloads",
"href": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceUrl": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T19:39:32.966Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.1",
"href": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceUrl": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-03T16:55:48.965Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-jonathanjing-discrawl-search/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-jonathanjing-discrawl-search/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.1",
"description": "Replace interpolated SQL with bounded discrawl argv calls, validate limits, and declare private-history handling and current OpenClaw metadata.",
"href": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceUrl": "https://clawhub.ai/jonathanjing/discrawl-search",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-08-03T16:55:48.965Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-jonathanjing-discrawl-search/run-check
