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

This commit is contained in:
2026-05-01 16:32:41 +03:00
parent c5ae63326f
commit d91c34efdf
2 changed files with 16 additions and 16 deletions

6
bot.py
View File

@@ -182,7 +182,7 @@ Staff: {stats.get('staff', 0)}
)
results = await vndb_client.query_vn(
filters=["search", "=", query], # ✔️ без вложенности
filters=["search", "=", query.strip().lower()], # ✔️ без вложенности
fields=["id", "title", "image{url}"],
results=10
)
@@ -228,7 +228,7 @@ Staff: {stats.get('staff', 0)}
return ConversationHandler.END
results = await vndb_client.query_character(
filters=["search", "=", query], # ✔️ важно
filters=["search", "=", query.strip().lower()], # ✔️ важно
fields=["id", "name", "image{url}"],
results=10
)
@@ -255,7 +255,7 @@ Staff: {stats.get('staff', 0)}
query = " ".join(context.args)
results = await vndb_client.query_release(
filters=["search", "=", query], # ✔️ важно
filters=["search", "=", query.strip().lower()], # ✔️ важно
fields=["id", "title"],
results=10
)

View File

@@ -150,7 +150,7 @@ class VndbClient:
"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -180,7 +180,7 @@ class VndbClient:
"""Query releases"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -206,10 +206,10 @@ class VndbClient:
compact_filters: bool = False,
normalized_filters: bool = False,
) -> Dict[str, Any]:
"""Query characters"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"filters": self._safe_filters(filters),
"fields": ",".join(fields) if fields else "id,name",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -218,7 +218,7 @@ class VndbClient:
"compact_filters": compact_filters,
"normalized_filters": normalized_filters,
}
return await self._request(VndbEndpoint.CHARACTER.value, "POST", data)
async def query_staff(
@@ -236,7 +236,7 @@ class VndbClient:
"""Query staff"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -263,7 +263,7 @@ class VndbClient:
"""Query producers"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -290,7 +290,7 @@ class VndbClient:
"""Query tags"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -317,7 +317,7 @@ class VndbClient:
"""Query traits"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -344,7 +344,7 @@ class VndbClient:
"""Query quotes"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -372,7 +372,7 @@ class VndbClient:
"""Query user visual novel list"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,
@@ -398,7 +398,7 @@ class VndbClient:
"""Query user release list"""
data = {
"filters": filters or [],
"fields": ",".join(fields) if fields else "",
"fields": ",".join(fields) if fields else "id",
"sort": sort,
"reverse": reverse,
"results": results,