1.15.1 bug fix on images

This commit is contained in:
Klemek
2021-06-01 09:52:14 +02:00
parent b1eddf0b4b
commit 99cd2b301b
8 changed files with 86 additions and 50 deletions
+2 -2
View File
@@ -13,7 +13,7 @@ class FirstScanner(HistoryScanner):
"first",
"Read first message (add text to filter like %find)",
args=[
"image - pull an image instead of a message",
"image/gif - pull an image instead of a message",
"spoiler:allow/only - allow spoiler images",
],
)
@@ -24,7 +24,7 @@ class FirstScanner(HistoryScanner):
async def get_results(self, intro: str) -> List[str]:
if self.images_only:
return await self.history.to_string_image(
type="first", spoiler=self.spoiler
type="first", spoiler=self.spoiler, gif_only=self.gif_only
)
else:
return self.history.to_string(type="first")
+19 -8
View File
@@ -15,7 +15,16 @@ class HistoryScanner(Scanner, ABC):
def __init__(self, *, help: str):
super().__init__(
has_digit_args=True,
valid_args=["all", "everyone", "spoiler", "spoiler:allow", "spoiler:only"],
valid_args=[
"all",
"everyone",
"spoiler",
"spoiler:allow",
"spoiler:only",
"image",
"img",
"gif",
],
help=help,
intro_context="",
all_args=True,
@@ -24,7 +33,8 @@ class HistoryScanner(Scanner, ABC):
async def init(self, message: discord.Message, *args: str) -> bool:
self.history = History()
self.all_messages = "all" in args or "everyone" in args
self.images_only = "image" in args
self.images_only = "image" in args or "img" in args or "gif" in args
self.gif_only = "gif" in args
if "spoiler" in args or "spoiler:allow" in args:
self.spoiler = FilterLevel.ALLOW
elif "spoiler:only" in args:
@@ -80,13 +90,14 @@ class HistoryScanner(Scanner, ABC):
and (message.content or message.attachment)
and (not images_only or message.image)
):
content = message.content.lower()
for query in queries:
if query[1] is not None:
if not re.match(query[1], message.content):
if not images_only:
content = message.content.lower()
for query in queries:
if query[1] is not None:
if not re.match(query[1], message.content):
return False
elif not query[0] in content:
return False
elif not query[0] in content:
return False
impacted = True
history.messages += [message]
return impacted
+4 -2
View File
@@ -13,7 +13,7 @@ class LastScanner(HistoryScanner):
"last",
"Read last message (add text to filter like %find)",
args=[
"image - pull an image instead of a message",
"image/gif - pull an image instead of a message",
"spoiler:allow/only - allow spoiler images",
],
)
@@ -23,6 +23,8 @@ class LastScanner(HistoryScanner):
async def get_results(self, intro: str) -> List[str]:
if self.images_only:
return await self.history.to_string_image(type="last", spoiler=self.spoiler)
return await self.history.to_string_image(
type="last", spoiler=self.spoiler, gif_only=self.gif_only
)
else:
return self.history.to_string(type="last")
+2 -2
View File
@@ -13,7 +13,7 @@ class RandomScanner(HistoryScanner):
"rand",
"Read a random message (add text to filter like %find)",
args=[
"image - pull an image instead of a message",
"image/gif - pull an image instead of a message",
"spoiler:allow/only - allow spoiler images",
],
)
@@ -24,7 +24,7 @@ class RandomScanner(HistoryScanner):
async def get_results(self, intro: str) -> List[str]:
if self.images_only:
return await self.history.to_string_image(
type="random", spoiler=self.spoiler
type="random", spoiler=self.spoiler, gif_only=self.gif_only
)
else:
return self.history.to_string(type="random")