Улучшение обработки фильтров и полей в запросах к VNDB API

This commit is contained in:
2026-05-01 16:54:10 +03:00
parent b9ffe18504
commit a3c484b20b
2 changed files with 19 additions and 37 deletions

24
bot.py
View File

@@ -182,8 +182,8 @@ Staff: {stats.get('staff', 0)}
)
results = await vndb_client.query_vn(
filters=["search", "=", query.strip().lower()], # ✔️ без вложенности
fields=["id", "title", "image{url}"],
filters=["search", "=", query.strip().lower()],
fields=["id", "title", "image.url"],
results=10
)
@@ -200,14 +200,12 @@ Staff: {stats.get('staff', 0)}
# images
for vn in results["results"][:3]:
img = vn.get("image")
if img and img.get("url"):
try:
await update.message.reply_photo(
photo=f"https://t.vndb.org{img['url']}"
)
except Exception as e:
logger.warning(e)
img_url = vn.get("image.url") or vn.get("image", {}).get("url")
if img_url:
await update.message.reply_photo(
photo=f"https://t.vndb.org{img_url}"
)
except Exception as e:
logger.error(e)
@@ -228,15 +226,15 @@ Staff: {stats.get('staff', 0)}
return ConversationHandler.END
results = await vndb_client.query_character(
filters=["search", "=", query.strip().lower()], # ✔️ важно
fields=["id", "name", "image{url}"],
filters=["search", "=", query.strip().lower()],
fields=["id", "name", "original", "image.url"],
results=10
)
text = "<b>Персонажи:</b>\n\n"
for c in results.get("results", []):
text += f"{c.get('id')} - {c.get('name')}\n"
text += f"{c.get('id')} - {c.get('name')} ({c.get('original', '')})\n"
await update.message.reply_text(text, parse_mode="HTML")