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'], "❓")
content.write(f"{emoji} [-]({url}) {message}\n")
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.
- "allowed_mentions": {
- "parse": []
- },
- # SUPPRESS_EMBEDS
- "flags": 1 << 2
- }
-
- response = requests.post(DISCORD_WEBHOOK_URL, json=body)
- response.raise_for_status()
+ body = {
+ "content": content.getvalue(),
+ # Do not allow any mentions.
+ "allowed_mentions": {
+ "parse": []
+ },
+ # SUPPRESS_EMBEDS
+ "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()
+
main()