dgtlmoon / dgtlmoon/changedetection.io

[feature] Add an option to send embed messages to Discord webhooks

Open
#907 14 comments 3 reactions 0 assignees View on GitHub
enhancement Notifications systems
Dominant language
Python
Stars
34.1k
Forks
2k
Avg merge
23h 38m
Merged PRs (30d)
67

Description

**Version and OS**
0.39.18 on linux/docker

**Is your feature request related to a problem? Please describe.**
My monitored URL's {diff} often exceeds the 1700 characters limit. Using embeds could [increase the limit up to 4096 characters by using the description field for diffs](https://discord.com/developers/docs/resources/channel#embed-object-embed-limits).

**Describe the solution you'd like**
Add an embed message type for Discord notifications with a customizable structure consisting of [embedded fields](https://discord.com/developers/docs/resources/channel#embed-object-embed-structure). I'm pretty sure Apprise, the dependency used for notifications, [already has support for embeds](https://github.com/caronc/apprise/blob/master/apprise/plugins/NotifyDiscord.py#L234-L279), so adding it here shouldn't be much of an issue.

**Describe the use-case and give concrete real-world examples**
The limit of diffs would be increased from 1700 to 4096 characters. Additionally, embedded Discord notifications would simply look better than pure text.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the notification integration and Apprise's NotifyDiscord.py embed support, then compare the requested structure with Discord's embed-object limits. Define how the embed option and customizable fields fit the existing notification configuration, and verify that diffs can be delivered through the embed description within Discord's limits.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.