You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [2.3.0] - 2026-03-03
9
+
10
+
### Added
11
+
-**Channel Monitoring** (#17): Watch a Discord channel for bot/webhook messages and auto-trigger a Claude investigation in a thread. Messages are batched over a 30-second debounce window. Requires `MONITOR_CHANNEL_ID` and `MONITOR_BOT_IDS` env vars and the Message Content privileged intent.
12
+
-**Thread-per-Session** (#19): New `/claude-thread` command starts each conversation in a dedicated Discord thread with a custom name.
13
+
-**Per-Channel Session Tracking**: Regular `/claude` commands in the same channel automatically reuse the last session — no need to pass `session_id` manually.
14
+
-**Custom Thread Names**: `/claude-thread name:"Fix auth bug" prompt:"Review the auth module"` creates a thread titled "Fix auth bug".
15
+
-**Thread-Aware Channel Detection**: Commands work correctly inside session threads (bot recognizes the parent channel).
16
+
17
+
### Changed
18
+
-`discord/session-threads.ts` added — `SessionThreadManager` handles thread creation, lookup, and lifecycle
19
+
-`discord/types.ts` — `InteractionContext` now exposes `getChannelId()` for per-channel session mapping
Copy file name to clipboardExpand all lines: docs/features.md
+39Lines changed: 39 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,8 @@ Set via `/settings` > `claude` > `set-effort`.
49
49
| Fork Session | Branch a conversation into a new independent session |
50
50
| AskUserQuestion | Claude can ask clarifying questions mid-session via Discord buttons |
51
51
| Interactive Permission Requests | Allow/Deny buttons when Claude wants to use unapproved tools (replaces CLI TUI prompt) |
52
+
| Channel Monitoring | Auto-detect bot/webhook messages and trigger Claude investigation in a thread |
53
+
| Thread-per-Session | Dedicated Discord thread for each `/claude-thread` conversation with custom names |
52
54
53
55
Toggles available via `/settings` > `claude`.
54
56
@@ -153,6 +155,43 @@ Example schema:
153
155
154
156
When enabled, responses follow `json_schema` output format through the SDK.
155
157
158
+
## Thread-per-Session
159
+
160
+
Keep conversations organized with dedicated Discord threads:
161
+
162
+
-**`/claude-thread`** — Start a new Claude session in its own thread
163
+
-`name` — Custom thread title (required)
164
+
-`prompt` — Your initial prompt (required)
165
+
-**Per-channel session tracking** — Regular `/claude` commands in the same channel automatically reuse the last session (no need to pass `session_id`)
166
+
-**Thread auto-naming** — Threads are named with your custom title or a truncated version of the prompt
167
+
-**Seamless continuation** — Subsequent `/claude` commands inside a session thread continue that conversation
168
+
169
+
### How It Works
170
+
171
+
1. Run `/claude-thread name:"Fix auth bug" prompt:"Review the auth module"`
172
+
2. A new thread titled **Fix auth bug** is created
173
+
3. Claude's response streams into the thread
174
+
4. Any further `/claude` commands in that thread continue the same session
175
+
5. Use `/claude-thread` again in the main channel to start a fresh conversation in a new thread
176
+
177
+
## Channel Monitoring
178
+
179
+
Automatically investigate alerts from other bots or webhooks:
180
+
181
+
1. A monitored bot posts in the configured channel
182
+
2. Messages are batched over a 30-second debounce window
183
+
3. A thread is created on the alert message
184
+
4. Claude analyzes the alert and streams its investigation into the thread
185
+
186
+
### Setup
187
+
188
+
```env
189
+
MONITOR_CHANNEL_ID=123456789012345678 # Channel to watch
190
+
MONITOR_BOT_IDS=987654321,111111111 # Bot/webhook user IDs to respond to
191
+
```
192
+
193
+
Requires the **Message Content** privileged intent enabled in the Discord Developer Portal. The bot needs Read Messages, Create Public Threads, and Send Messages in Threads permissions in the monitored channel.
194
+
156
195
## Role-Based Access Control (RBAC)
157
196
158
197
Restrict dangerous commands to authorized users and roles:
Copy file name to clipboardExpand all lines: docs/known-issues.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Known Issues & Accepted Risks
2
2
3
-
> Last audited: 2025-02-18
3
+
> Last audited: 2026-03-03
4
4
> Context: Single-user personal Discord bot — not a production multi-user service
5
5
6
6
This document tracks issues identified during a comprehensive code audit that were **intentionally not fixed**. Each entry explains why the issue exists, why it doesn't matter for our use case, and under what conditions (if any) it would need revisiting.
0 commit comments