Улучшение обработки фильтров и полей в запросах к VNDB API
This commit is contained in:
24
bot.py
24
bot.py
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user