Skip to content

Feature/discord moderation skill#4

Merged
jamesrossdev merged 10 commits intomainfrom
feature/discord-moderation
Mar 20, 2026
Merged

Feature/discord moderation skill#4
jamesrossdev merged 10 commits intomainfrom
feature/discord-moderation

Conversation

@jamesrossdev
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f0c86f9300

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +160 to +163
func (t *DiscordTimeoutUserTool) SetGuildID(guildID string) {
if guildID != "" {
t.defaultGuildID = guildID
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Clear guild context when message has no guild_id

SetGuildID only updates defaultGuildID when the incoming value is non-empty, so after handling one guild message the tool can retain that guild ID across later DM turns. Because DM requests are not passed through filterDiscordTools (runLLMIteration only filters when is_dm != "true"), a DM-triggered discord_timeout_user call can incorrectly act on a stale guild from a previous server message instead of failing with missing guild context. Resetting the stored guild on every context update (including empty values) avoids cross-session moderation actions.

Useful? React with 👍 / 👎.

// Auto-log to mod-log
if t.sendCallback != nil {
logMsg := fmt.Sprintf("🗑️ **Message Deleted**\n**Channel:** <#%s>\n**Reason:** %s\n**Actioned by:** LuckyClaw", channelID, reason)
_ = t.sendCallback("discord", "1481382116561256570", logMsg)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove hardcoded mod-log channel from auto-log sends

The moderation auto-log path is hardcoded to channel ID 1481382116561256570, which is server-specific; for most deployments this ID does not exist, so moderation logs are dropped (and the error is ignored) even though the tool reports success. This breaks the audit trail outside the author’s guild and should be replaced with a configurable or context-derived target channel.

Useful? React with 👍 / 👎.

@jamesrossdev jamesrossdev force-pushed the feature/discord-moderation branch from f0c86f9 to 47d552e Compare March 15, 2026 22:51
…he system prompt for enhanced agent context.
…uild instructions

- Add workspace/skills/discord-mod/SKILL.md (sanitized community template)
- Remove firmware/overlay/root/ (dead weight, workspace comes from go:embed binary)
- Update AGENTS.md: lessons 12-14 (firmware overlay, binary updates, OTA), build image section
- Update README: correct firmware build instructions, project structure, go:embed architecture
- Update doc/discord-moderator-setup.md: full SOUL.md + SKILL.md templates with placeholders
- Update pkg/agent/context.go + loop.go: inject Discord message metadata (roles, DM) into system prompt
- Rewrite README.md pitch for simplicity over power features
- Add 'Conservative by Design' philosophy to AGENTS.md
- Update ROADMAP.md with accurate v0.2.1 cycle
- Add 'luckyclaw install' binary-only path to IMPROVEMENTS.md
…olish of README.md intro and catchy header\n- Finalize v0.2.1 roadmap and add memory reporting fix\n- Improve memory reporting clarity in status and banner (available / total)\n- Switch default free model to stepfun/step-3.5-flash:free\n- Implement Discord moderation tools (delete, timeout)\n- Support reasoning model 'thinking' token separation\n- Deliver workspace via go:embed (removed firmware/overlay/root/)
@jamesrossdev jamesrossdev merged commit aeba461 into main Mar 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant