Split changelog entries for discord (#23832)

* Split changelog entries for discord

Not sure where best to split it, by entry in group or by author.

* Formatting
This commit is contained in:
metalgearsloth
2024-01-30 22:14:00 +11:00
committed by GitHub
parent 36fb5a92cb
commit 00c5538c6b

View File

@@ -109,11 +109,13 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None:
print(f"No discord webhook URL found, skipping discord send")
return
content = io.StringIO()
count: int = 0
for name, group in itertools.groupby(entries, lambda x: x["author"]):
count = 0
content = io.StringIO()
content.write(f"**{name}** updated:\n")
for entry in group:
for change in entry["changes"]:
emoji = TYPES_TO_EMOJI.get(change['type'], "")
@@ -125,12 +127,6 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None:
else:
content.write(f"{emoji} - {message}\n")
if count == 0:
print("Skipping discord push as no changelog entries found")
return
print(f"Posting {count} changelog entries to discord webhook")
body = {
"content": content.getvalue(),
# Do not allow any mentions.
@@ -141,6 +137,13 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None:
"flags": 1 << 2
}
# No entries?
if count == 0:
continue
# Post per group to try to avoid discord character limits
print(f"Posting {count} changelog entries to discord webhook")
response = requests.post(DISCORD_WEBHOOK_URL, json=body)
response.raise_for_status()