sync: auto-sync from GURU-5070 at 2026-06-13 12:10:56
Author: Mike Swanson Machine: GURU-5070 Timestamp: 2026-06-13 12:10:56
This commit is contained in:
@@ -139,3 +139,4 @@
|
||||
- [IX WHM API access = 'ClaudeTools' token, not password](ix-whm-dns-api-access.md) — IX cPanel/WHM (ix.azcomputerguru.com:2087) DNS + all API work uses the FULL-ACCESS-root WHM API token at vault `infrastructure/ix-server` `credentials.whm-api-token` via header `Authorization: whm root:<token>` (force curl -4). Password basic-auth on legacy json-api now 403s. Public NS ns1/ns2.acghosting.com = 52.52.94.202.
|
||||
- [Vault EVERY credential surfaced in-session](feedback-vault-every-credential.md) — any cred (pasted/created/discovered) -> store via the vault skill + document purpose & exact usage immediately; it's a standing job rule (reinforced in CORE CLAUDE.md). Lost IX creds wasted ~1h on 2026-06-12.
|
||||
- [GuruRMM install-report v1: reuse endpoint + failed-install agent](gururmm-install-report-failed-agent-v1.md) — legacy NSIS installer reuses /api/install-report (machine info + logs, success+fail); server upserts a visible "failed-install" device on failure reports (Mike: in v1); verify-connect-before-success; trend/near-fail analytics. Server side is a separate sequential SPEC after the legacy-agent branch lands.
|
||||
- [DM wrapping commands to Mike in Discord](feedback_dm_wrapping_commands_to_mike.md) — long/wrapping one-liners go via Discord DM (code block copies clean), not just chat; bot token vault projects/discord-bot/bot-token, Mike uid 264814939619721216, MUST set User-Agent header or Cloudflare 403 errcode 1010; helper .claude/tmp/discord-dm.py
|
||||
|
||||
29
.claude/memory/feedback_dm_wrapping_commands_to_mike.md
Normal file
29
.claude/memory/feedback_dm_wrapping_commands_to_mike.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
name: feedback_dm_wrapping_commands_to_mike
|
||||
description: When a command/snippet you want Mike to run is long enough to wrap in the terminal, DM it to him in Discord (code block copies cleanly) instead of only putting it in chat.
|
||||
metadata:
|
||||
type: feedback
|
||||
---
|
||||
|
||||
Mike (2026-06-13): "For any command that wraps (like this one) DM me in discord, the
|
||||
line breaks suck." Terminal line-wrapping mangles long one-liners when he copies them.
|
||||
|
||||
**How to apply:** When you produce a command/code block for Mike to run that would wrap
|
||||
in the terminal (long one-liners, multi-flag commands), send it to him via Discord DM as a
|
||||
```fenced code block``` (Discord copies the whole line cleanly regardless of visual wrap),
|
||||
and just reference it in chat ("DM'd you the command"). Short, non-wrapping commands can
|
||||
stay inline.
|
||||
|
||||
**Mechanics (verified working 2026-06-13):**
|
||||
- Bot token: vault `projects/discord-bot/bot-token.sops.yaml` field `credentials.bot_token`.
|
||||
- Mike's Discord user id: `264814939619721216` (Howard: `624667664501178379`).
|
||||
- **MUST set a `User-Agent` header** like `DiscordBot (https://azcomputerguru.com, 1.0)` --
|
||||
Discord's API is behind Cloudflare, which returns **403 error 1010** for the default
|
||||
urllib/curl UA. This is the #1 gotcha; both DM-open and message-send fail without it.
|
||||
- Open a DM channel: `POST https://discord.com/api/v10/users/@me/channels {"recipient_id":<uid>}`
|
||||
-> returns channel id; then `POST /channels/<id>/messages {"content": "..."}`.
|
||||
- Reusable helper written this session: `.claude/tmp/discord-dm.py` (reads body from a file
|
||||
or stdin; `BOT_TOKEN` from env). The bot CAN initiate DMs to Mike (mutual guild
|
||||
624663750603046913); the earlier 403 was the missing UA, not a privacy block.
|
||||
|
||||
Related: [[reference_resource_map]] (Discord bot), the `discord-bot` project.
|
||||
Reference in New Issue
Block a user