From 8cc073c47335ea5773255f9e71fe10800cb46d8b Mon Sep 17 00:00:00 2001 From: Redume Date: Wed, 8 Jan 2025 22:58:12 +0300 Subject: [PATCH] chore: Returned the formatting and the inline query response --- utils/format_number.py | 14 ++++++++++++++ utils/inline_query.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 utils/format_number.py create mode 100644 utils/inline_query.py diff --git a/utils/format_number.py b/utils/format_number.py new file mode 100644 index 0000000..0694895 --- /dev/null +++ b/utils/format_number.py @@ -0,0 +1,14 @@ +def format_number(number): + number_str = str(number) + + if '.' in number_str: + integer_part, fractional_part = number_str.split('.') + else: + integer_part, fractional_part = number_str, '' + + formatted_integer_part = '{:,}'.format(int(integer_part)).replace(',', ' ') + + if fractional_part: + return formatted_integer_part + '.' + fractional_part + else: + return formatted_integer_part \ No newline at end of file diff --git a/utils/inline_query.py b/utils/inline_query.py new file mode 100644 index 0000000..edf921d --- /dev/null +++ b/utils/inline_query.py @@ -0,0 +1,34 @@ +from aiogram import types + + +async def reply(result_id: str, args: list, query: types.InlineQuery) -> None: + if not args: + return + + articles = [] + + for idx, arg in enumerate(args): + title = arg[0] + description = arg[1] if arg[1] else None + img = arg[2] if arg[2] else None + + + article = types.InlineQueryResultArticle( + id=f"{result_id}_{idx}", + title=title, + thumbnail_url=img, + description=description, + input_message_content=types.InputTextMessageContent( + message_text=title, + parse_mode='markdown' + ) + ) + + articles.append(article) + + await query.answer( + results=articles, + parse_mode='markdown', + cache_time=0, + is_personal=True + ) \ No newline at end of file