area: notifygood first issuetype: feature
Repository metrics
- Stars
- (2 stars)
- PR merge metrics
- (PR metrics pending)
Description
dotagent ships built-in notifier drivers under crates/dotagent-notify/ for desktop, slack, imessage, ntfy, pushover. Discord is a common ask for hobby projects, gaming clans, and small teams that don't run Slack.
Proposal
A new in-process driver discord that posts to a Discord webhook URL.
Manifest shape:
[[notifiers]]
driver = "discord"
webhook_url = "https://discord.com/api/webhooks/..."
username = "dotagent" # optional override
avatar_url = "https://..." # optional
The driver posts to the webhook with a Discord-formatted embed containing agent name, schedule, exit code, stderr tail. Same lifecycle as the other built-in notifiers — runs in-process inside the daemon.
Acceptance criteria
- Posts to a Discord webhook and renders correctly in the Discord channel.
- Uses
reqwestwithrustls-tls(no OpenSSL — repo convention). -
[security]allow-list works:network = ["discord.com"]plays nice. - Validation rejects empty
webhook_urlwith a clear error. - Doc page added under
docs/plugins/notify-discord.md(ordocs/concepts/notifications.mdextended). - Example in
examples/or a snippet in the doc.
Where to start
crates/dotagent-notify/src/slack.rs— closest analogue (also a webhook driver).crates/dotagent-notify/src/lib.rs— driver registration.- Discord webhook docs: https://discord.com/developers/docs/resources/webhook#execute-webhook (rough shape, not a build instruction).
Non-goals
- Bot token auth. Webhook only for v1.
- Slash commands, threads, role mentions. Plain message is enough.