Skip to content

docs(notifications): TODO.md claims Discord/Teams/Telegram/Google Chat providers exist — they don't #635

Description

@FindMalek

Summary

packages/notifications/TODO.md checks off Discord, Microsoft Teams, Telegram, and Google Chat as [x] done:

- [x] **Slack** - Webhook support
- [x] **Discord** - Webhook support
- [x] **Email** - Injected send function
- [x] **Webhook** - Generic HTTP webhook
- [x] **Microsoft Teams** - Adaptive Cards via webhook
- [x] **Telegram** - Bot API (sendMessage)
- [x] **Google Chat** - Cards via webhook

But packages/notifications/src/providers/ only contains slack.ts, email.ts, webhook.ts, and base.ts — no matching files for the other four. NotificationChannel (packages/notifications/src/types.ts:1) is typed "slack" | "email" | "webhook" only, and NotificationClient (packages/notifications/src/client.ts) only wires those three up. The alarms-system section of the same TODO.md (line 13) still lists discord/teams/telegram/google-chat as channels an alarm should be able to target, so this looks like real missing functionality rather than just stale docs.

Proposal

Add a Discord provider (webhook-based, mirroring the existing SlackProvider) as a first, self-contained slice:

  • New providers/discord.ts following the SlackProvider/WebhookProvider pattern
  • Extend NotificationChannel and wire it into NotificationClient
  • Tests mirroring the existing Slack provider tests
  • Fix the TODO.md checkboxes to reflect reality

Keeping this scoped to Discord only — happy to do Teams/Telegram/Google Chat as separate follow-up PRs if this shape is right, rather than one big PR.

Checking scope/interest before opening a PR, per the AI policy here — let me know if this is wanted or if there's context I'm missing (e.g. planned elsewhere / superseded by a different design).

Disclosure: I used Claude Code to grep the providers directory against TODO.md and the type definitions; verified manually before writing this up.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions