From 39f65ab1fbe9a85b50ff770fda5bef79c714e373 Mon Sep 17 00:00:00 2001 From: egut125 Date: Sun, 9 Jan 2022 10:34:04 -0500 Subject: [PATCH] Add check to create info_screenshots folder and try-catch adding image to discord embed (#416) --- assets/error/image_not_found.png | Bin 0 -> 3476 bytes src/api/discord_embeds.py | 18 ++++++++++++++---- src/main.py | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 assets/error/image_not_found.png diff --git a/assets/error/image_not_found.png b/assets/error/image_not_found.png new file mode 100644 index 0000000000000000000000000000000000000000..8a717b3fccca08847e25c5c9ce0342823d58d423 GIT binary patch literal 3476 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 CcyDk3 literal 0 HcmV?d00001 diff --git a/src/api/discord_embeds.py b/src/api/discord_embeds.py index 5fce000..4516155 100644 --- a/src/api/discord_embeds.py +++ b/src/api/discord_embeds.py @@ -2,6 +2,7 @@ from .generic_api import GenericApi from config import Config import cv2 import datetime +import traceback import discord from version import __version__ import numpy as np @@ -17,8 +18,10 @@ class DiscordEmbeds(GenericApi): def send_item(self, item: str, image: np.ndarray, location: str): imgName = item.replace('_', '-') + _, w, _ = image.shape + image = image[:, (w//2):,:] cv2.imwrite(f"./loot_screenshots/{item}.png", image) - file = discord.File(f"./loot_screenshots/{item}.png", filename=f"{imgName}.png") + file = self._add_file(f"./loot_screenshots/{item}.png", f"{imgName}.png") e = discord.Embed( title="Item Stashed!", description=f"{item} at {location}", @@ -29,7 +32,7 @@ class DiscordEmbeds(GenericApi): self._send_embed(e, file) def send_death(self, location, image_path): - file = discord.File(image_path, filename="death.png") + file = self._add_file(image_path, "death.png") e = discord.Embed(title=f"{self._config.general['name']} has died at {location}", color=Color.dark_red()) e.title=(f"{self._config.general['name']} died") e.description=(f"Died at {location}") @@ -38,7 +41,7 @@ class DiscordEmbeds(GenericApi): self._send_embed(e, file) def send_chicken(self, location, image_path): - file = discord.File(image_path, filename="chicken.png") + file = self._add_file(image_path, "chicken.png") e = discord.Embed(title=f"{self._config.general['name']} has chickened at {location}", color=Color.dark_grey()) e.title=(f"{self._config.general['name']} ran away") e.description=(f"chickened at {location}") @@ -84,4 +87,11 @@ class DiscordEmbeds(GenericApi): elif "gray_" in item: return Color.darker_grey() else: - return Color.blue() \ No newline at end of file + return Color.blue() + + def _add_file(self, image_path, image_name): + try: + return discord.File(image_path, filename=image_name) + except: + traceback.print_exc() + return discord.File("./assets/error/image_not_found.png", filename=image_name) diff --git a/src/main.py b/src/main.py index d3e0d21..014967a 100644 --- a/src/main.py +++ b/src/main.py @@ -59,7 +59,7 @@ def main(): # Create folder for debug screenshots if they dont exist yet if not os.path.exists("stats"): os.system("mkdir stats") - if not os.path.exists("info_screenshots") and config.general["info_screenshots"]: + if not os.path.exists("info_screenshots") and (config.general["info_screenshots"] or config.general["message_api_type"] == "discord"): os.system("mkdir info_screenshots") if not os.path.exists("loot_screenshots") and (config.general["loot_screenshots"] or config.general["message_api_type"] == "discord"): os.system("mkdir loot_screenshots")