Skip to content

Commit 41b8439

Browse files
authored
Merge pull request #25 from MinecraftCommands/feeds-fixes
Fixed jar feed
2 parents c77501b + fcb3ad7 commit 41b8439

File tree

6 files changed

+42
-30
lines changed

6 files changed

+42
-30
lines changed

commanderbot/ext/feeds/feeds_state.py

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ async def _on_mcje_release(self, update_info: MinecraftJavaUpdateInfo):
180180
embed = Embed(
181181
title=update_info.title,
182182
url=update_info.url,
183-
color=Color.minecraft_green(),
183+
color=Color.minecraft_dark_green(),
184184
timestamp=update_info.published,
185185
)
186186
embed.set_author(
@@ -281,23 +281,26 @@ async def _on_mcje_release_jar(self, jar_update_info: MinecraftJavaJarUpdateInfo
281281
embed.set_thumbnail(
282282
url=self.options.minecraft_java_jar_updates.release_jar_icon_url
283283
)
284-
285284
embed.add_field(name="Java Version", value=f"`{jar_update_info.java_version}`")
286-
embed.add_field(
287-
name="Client Mappings",
288-
value=f"[Link]({jar_update_info.client_mappings_url})",
289-
)
290-
embed.add_field(
291-
name="Server Mappings",
292-
value=f"[Link]({jar_update_info.server_mappings_url})",
293-
)
285+
286+
if jar_update_info.client_mappings_url:
287+
embed.add_field(
288+
name="Client Mappings",
289+
value=f"[Link]({jar_update_info.client_mappings_url})",
290+
)
291+
292+
if jar_update_info.server_mappings_url:
293+
embed.add_field(
294+
name="Server Mappings",
295+
value=f"[Link]({jar_update_info.server_mappings_url})",
296+
)
294297

295298
# Send update to subscribers
296299
await self._send_to_subscribers(
297300
FeedType.MINECRAFT_JAVA_RELEASE_JARS,
298301
embed,
299302
self._create_mcje_jar_update_buttons(jar_update_info),
300-
f"A jar has been released for Minecraft: Java Edition {jar_update_info.version}! 🎉",
303+
f"A jar for Minecraft: Java Edition {jar_update_info.version} has been released! 🎉",
301304
)
302305

303306
# @@ Minecraft: Java Edition Snapshot Jars
@@ -314,23 +317,26 @@ async def _on_mcje_snapshot_jar(self, jar_update_info: MinecraftJavaJarUpdateInf
314317
embed.set_thumbnail(
315318
url=self.options.minecraft_java_jar_updates.snapshot_jar_icon_url
316319
)
317-
318320
embed.add_field(name="Java Version", value=f"`{jar_update_info.java_version}`")
319-
embed.add_field(
320-
name="Client Mappings",
321-
value=f"[Link]({jar_update_info.client_mappings_url})",
322-
)
323-
embed.add_field(
324-
name="Server Mappings",
325-
value=f"[Link]({jar_update_info.server_mappings_url})",
326-
)
321+
322+
if jar_update_info.client_mappings_url:
323+
embed.add_field(
324+
name="Client Mappings",
325+
value=f"[Link]({jar_update_info.client_mappings_url})",
326+
)
327+
328+
if jar_update_info.server_mappings_url:
329+
embed.add_field(
330+
name="Server Mappings",
331+
value=f"[Link]({jar_update_info.server_mappings_url})",
332+
)
327333

328334
# Send update to subscribers
329335
await self._send_to_subscribers(
330336
FeedType.MINECRAFT_JAVA_SNAPSHOT_JARS,
331337
embed,
332338
self._create_mcje_jar_update_buttons(jar_update_info),
333-
f"A jar has been released for Minecraft: Java Edition {jar_update_info.version}! 📸",
339+
f"A jar for Minecraft: Java Edition {jar_update_info.version} has been released! 📸",
334340
)
335341

336342
# @@ COMMANDS

commanderbot/ext/feeds/providers/minecraft_java_jar_updates.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ class MinecraftJavaJarUpdateInfo:
2727
java_version: int
2828
client_jar_url: str
2929
server_jar_url: str
30-
client_mappings_url: str
31-
server_mappings_url: str
30+
client_mappings_url: Optional[str]
31+
server_mappings_url: Optional[str]
3232

3333

3434
@dataclass

commanderbot/ext/feeds/providers/utils.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ class MinecraftJavaVersion(FromDataMixin):
6666
java_version: int
6767
client_jar_url: str
6868
server_jar_url: str
69-
client_mappings_url: str
70-
server_mappings_url: str
69+
client_mappings_url: Optional[str]
70+
server_mappings_url: Optional[str]
7171

7272
url: Optional[str] = None
7373

@@ -76,6 +76,12 @@ class MinecraftJavaVersion(FromDataMixin):
7676
def try_from_data(cls, data: Any) -> Optional[Self]:
7777
if isinstance(data, dict):
7878
release_time = datetime.fromisoformat(data["releaseTime"])
79+
client_mappings_url = (
80+
data["downloads"].get("client_mappings", {}).get("url")
81+
)
82+
server_mappings_url = (
83+
data["downloads"].get("server_mappings", {}).get("url")
84+
)
7985
return cls(
8086
id=data["id"],
8187
type=data["type"],
@@ -85,8 +91,8 @@ def try_from_data(cls, data: Any) -> Optional[Self]:
8591
java_version=data["javaVersion"]["majorVersion"],
8692
client_jar_url=data["downloads"]["client"]["url"],
8793
server_jar_url=data["downloads"]["server"]["url"],
88-
client_mappings_url=data["downloads"]["client_mappings"]["url"],
89-
server_mappings_url=data["downloads"]["server_mappings"]["url"],
94+
client_mappings_url=client_mappings_url,
95+
server_mappings_url=server_mappings_url,
9096
)
9197

9298
@property

commanderbot/ext/moderation/moderation_cog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def __init__(self, bot: Bot):
3434

3535
# Create context menu command
3636
self.ctx_cmd_kick_compromised = ContextMenu(
37-
name="Kick compromised account", callback=self.cmd_kick_compromised
37+
name="Kick Compromised Account", callback=self.cmd_kick_compromised
3838
)
3939

4040
async def cog_load(self):

commanderbot/lib/color.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def mojang_red(cls) -> Self:
9090
return cls(0xF0313B)
9191

9292
@classmethod
93-
def minecraft_green(cls) -> Self:
93+
def minecraft_dark_green(cls) -> Self:
9494
"""A factory method that returns a :class:`Color` with a value of ``0x00AA00``.
9595
9696
.. color:: #00AA00

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "commanderbot"
33
description = "A collection of utilities and extensions for discord.py bots."
4-
version = "0.21.0"
4+
version = "0.21.1"
55
requires-python = ">=3.14,<3.15"
66
authors = [
77
{ name = "Ersatz", email = "ersatz0077@gmail.com" },

0 commit comments

Comments
 (0)