feat: Channel integration for demo concierge — Discord bot wiring #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Wire the demo concierge agent (in
cust-demonamespace) to a Discord channel so Scott can test the onboarding flow end-to-end.Current State
kubeclaw-agent-demo-conciergepod is Running incust-demoWhat Needs to Happen
cust-demonamespaceGATEWAY_ALLOW_ALL_USERS=trueor set up proper allowlists for testingAcceptance Criteria
PR opened: https://os.scoble.me/forgejo/sscoble/kubeclaw/pulls/3
This wires the demo concierge to Discord. The PR includes config samples and the applied cluster changes. See PR description for details and remaining steps.
Update: The Discord env vars are flowing into the concierge pod, but the hermes container image is missing
discord.py. The gateway logs:This requires a rebuild of the Hermes container image with the Discord Python package. Tracked in sscoble/hermes-speckl#2.
The config changes (secret + env vars) are done. Once the image is rebuilt with discord.py, the concierge should connect automatically.
Update: Config changes are done (Secret + env vars in Agent CR). The concierge pod receives
DISCORD_BOT_TOKENandGATEWAY_ALLOW_ALL_USERS=truecorrectly.The remaining blocker is the image —
discord.pyis not in the hermes-speckl container. Fix PR opened: https://os.scoble.me/forgejo/sscoble/hermes-speckl/pulls/3Once that's merged and the image is rebuilt, the Discord integration should connect automatically.
Image fix deployed and verified. Concierge now loads
discord.pyand attempts Discord auth.Current state: Gateway exits with
LoginFailure: Improper token has been passedbecause theDISCORD_BOT_TOKENincust-demo/channel-tokensis a placeholder.To complete the integration: A real Discord bot token is needed. Scott needs to:
bot+Send Messages+Read Message Historyscopeskubectl create secret generic channel-tokens -n cust-demo --from-literal=discord-token="REAL_TOKEN" --dry-run=client -o yaml | kubectl apply -f -kubectl delete pod -n cust-demo -l agent=conciergeAfter that, the concierge will connect and the onboarding flow (Phase 4 from the runbook) can proceed.
Test ran. The concierge connects and authenticates to Discord successfully.
Result: The test message was received, but by OpenClaw (@cos) not the Hermes concierge — both share the same Discord bot token. Discord only delivers events to one connected client.
To complete the test: The concierge needs its own separate Discord bot application. Scott needs to:
kubectl create secret generic channel-tokens -n cust-demo --from-literal=discord-token="<NEW_TOKEN>" --dry-run=client -o yaml | kubectl apply -f -kubectl delete agent demo-concierge -n cust-demo && kubectl apply -f <agent-yaml>This is a per-customer requirement — each customer's concierge bot needs its own Discord bot identity.