Improved inline query usage filters

This commit is contained in:
Profitroll 2023-01-07 10:20:58 +01:00
parent bcaf80e2e1
commit 0bf5ae70eb

View File

@ -11,7 +11,7 @@ from pyrogram.enums.chat_members_filter import ChatMembersFilter
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from classes.errors.holo_user import UserNotFoundError, UserInvalidError from classes.errors.holo_user import UserNotFoundError, UserInvalidError
from classes.holo_user import HoloUser from classes.holo_user import HoloUser
from modules.utils import configGet, locale from modules.utils import configGet, jsonLoad, locale
from modules.database import col_applications, col_spoilers from modules.database import col_applications, col_spoilers
from bson.objectid import ObjectId from bson.objectid import ObjectId
from bson.errors import InvalidId from bson.errors import InvalidId
@ -64,19 +64,27 @@ async def inline_answer(client: Client, inline_query: InlineQuery):
) )
return return
results_forbidden = [
InlineQueryResultArticle(
title=locale("title", "inline", "forbidden", locale=inline_query.from_user),
input_message_content=InputTextMessageContent(
locale("message_content", "inline", "forbidden", locale=inline_query.from_user)
),
description=locale("description", "inline", "forbidden", locale=inline_query.from_user)
)
]
try: try:
holo_user = HoloUser(inline_query.from_user) holo_user = HoloUser(inline_query.from_user)
except (UserNotFoundError, UserInvalidError): except (UserNotFoundError, UserInvalidError):
await inline_query.answer( await inline_query.answer(
results=[ results=results_forbidden
InlineQueryResultArticle( )
title=locale("title", "inline", "forbidden", locale=inline_query.from_user), return
input_message_content=InputTextMessageContent(
locale("message_content", "inline", "forbidden", locale=inline_query.from_user) if path.exists(path.join(configGet("cache", "locations"), "group_members")) and (inline_query.from_user.id not in jsonLoad(path.join(configGet("cache", "locations"), "group_members"))):
), await inline_query.answer(
description=locale("description", "inline", "forbidden", locale=inline_query.from_user) results=results_forbidden
)
]
) )
return return