From 1ce708a40b105862ea1f35390510c7c8e8719d69 Mon Sep 17 00:00:00 2001
From: mctaylors <cantsendmails@mctaylors.ru>
Date: Sun, 18 May 2025 10:30:53 +0300
Subject: [PATCH 1/4] change: make return None statement explicit in
 format_rating

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
---
 extensions.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/extensions.py b/extensions.py
index 1ffcc22..edc3571 100644
--- a/extensions.py
+++ b/extensions.py
@@ -28,3 +28,4 @@ def format_rating(value: str) -> str | None:
         case "e":
             # Negative Squared Latin Capital Letter E
             return "🅴"
+    return None

From 735bfdb406103d199dcb319ea4fc5e4522ffe720 Mon Sep 17 00:00:00 2001
From: mctaylors <cantsendmails@mctaylors.ru>
Date: Sun, 18 May 2025 11:08:09 +0300
Subject: [PATCH 2/4] feat: use LinkPreviewOptions in answer_query

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
---
 inline_query.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/inline_query.py b/inline_query.py
index 3e625a1..fa2e71a 100644
--- a/inline_query.py
+++ b/inline_query.py
@@ -1,7 +1,7 @@
 from uuid import uuid4
 
 from telegram import Update, InlineKeyboardButton, InlineQueryResultArticle, InputTextMessageContent, \
-    InlineKeyboardMarkup
+    InlineKeyboardMarkup, LinkPreviewOptions
 from telegram.constants import ParseMode
 from telegram.ext import ContextTypes
 
@@ -70,9 +70,9 @@ async def answer_query(update: Update, query: str, data) -> None:
             thumbnail_url=data['preview_file_url'],
             input_message_content=InputTextMessageContent(
                 f"ID: <code>{query}</code> {rating}\n"
-                f"<a href='{data['large_file_url']}'><b>{characters} ({copyrights})</b> "
-                f"drawn by <b>{artists}</b></a>",
-                parse_mode=ParseMode.HTML
+                f"<b>{characters} ({copyrights})</b> drawn by <b>{artists}</b>",
+                parse_mode=ParseMode.HTML,
+                link_preview_options=LinkPreviewOptions(url=data['large_file_url'])
             ),
             reply_markup=InlineKeyboardMarkup(keyboard)
         )

From e59ff67176d1a2de6bf613935853c8eb52a8dc37 Mon Sep 17 00:00:00 2001
From: mctaylors <cantsendmails@mctaylors.ru>
Date: Sun, 18 May 2025 11:26:51 +0300
Subject: [PATCH 3/4] change: make inline query answer more compact

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
---
 inline_query.py | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/inline_query.py b/inline_query.py
index fa2e71a..a3f19c4 100644
--- a/inline_query.py
+++ b/inline_query.py
@@ -43,8 +43,7 @@ async def answer_query(update: Update, query: str, data) -> None:
                 title=f"ID: {query}",
                 description=f"{characters} ({copyrights}) drawn by {artists}",
                 input_message_content=InputTextMessageContent(
-                    f"ID: <code>{query}</code> {rating}\n"
-                    f"<s><b>{characters} ({copyrights})</b> drawn by <b>{artists}</b></s>\n"
+                    f"<code>#{query}</code> <s><b>{characters} ({copyrights})</b> drawn by <b>{artists}</b></s> {rating}\n"
                     f"This post has been removed because of a takedown request or rule violation.",
                     parse_mode=ParseMode.HTML
                 )
@@ -69,8 +68,7 @@ async def answer_query(update: Update, query: str, data) -> None:
             description=f"{characters} ({copyrights}) drawn by {artists}",
             thumbnail_url=data['preview_file_url'],
             input_message_content=InputTextMessageContent(
-                f"ID: <code>{query}</code> {rating}\n"
-                f"<b>{characters} ({copyrights})</b> drawn by <b>{artists}</b>",
+                f"<code>#{query}</code> <b>{characters} ({copyrights})</b> drawn by <b>{artists}</b> {rating}",
                 parse_mode=ParseMode.HTML,
                 link_preview_options=LinkPreviewOptions(url=data['large_file_url'])
             ),
@@ -88,7 +86,7 @@ async def invalid_query(update: Update, query: str) -> None:
             title=f"ID: {query}",
             description="Error",
             input_message_content=InputTextMessageContent(
-                f"ID: <code>{query}</code>\n"
+                f"<code>#{query}</code>\n"
                 f"That record was not found.",
                 parse_mode=ParseMode.HTML
             )

From 4adfcd316fbfbe0dcd26baa72a45d84dd59b6c73 Mon Sep 17 00:00:00 2001
From: mctaylors <cantsendmails@mctaylors.ru>
Date: Sun, 18 May 2025 11:41:39 +0300
Subject: [PATCH 4/4] refactor: completely rewrite humanize_tags_from_json

Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
---
 extensions.py | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/extensions.py b/extensions.py
index edc3571..49b2d1a 100644
--- a/extensions.py
+++ b/extensions.py
@@ -3,14 +3,7 @@ import re
 
 def humanize_tags_from_json(value: str, default: str) -> str:
     if value != "":
-        output = str()
-        tags = value.split()
-
-        for t in tags:
-            output += f"{re.sub('_\\(.*', '', t)}, "
-        output = output[:-2]
-
-        return output
+        return ", ".join([re.sub('_\\(.*', '', t) for t in value.split()])
     return default