filters users by the 'blocked' status

This commit is contained in:
Whispering Wind
2025-01-10 20:43:09 +03:30
committed by GitHub
parent 3bd93e3a6d
commit b7bff541be

View File

@ -1,7 +1,6 @@
from telebot import types
from utils.command import *
@bot.inline_handler(lambda query: is_admin(query.from_user.id))
def handle_inline_query(query):
command = f"python3 {CLI_PATH} list-users"
@ -14,21 +13,40 @@ def handle_inline_query(query):
query_text = query.query.lower()
results = []
for username, details in users.items():
if query_text in username.lower():
title = f"{username}"
description = f"Traffic Limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB, Expiration Days: {details['expiration_days']}"
results.append(types.InlineQueryResultArticle(
id=username,
title=title,
description=description,
input_message_content=types.InputTextMessageContent(
message_text=f"Name: {username}\n"
f"Traffic limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB\n"
f"Days: {details['expiration_days']}\n"
f"Account Creation: {details['account_creation_date']}\n"
f"Blocked: {details['blocked']}"
)
))
bot.answer_inline_query(query.id, results, cache_time=0)
if query_text == "block":
for username, details in users.items():
if details.get('blocked', False):
title = f"{username} (Blocked)"
description = f"Traffic Limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB, Expiration Days: {details['expiration_days']}"
results.append(types.InlineQueryResultArticle(
id=username,
title=title,
description=description,
input_message_content=types.InputTextMessageContent(
message_text=f"Name: {username}\n"
f"Traffic limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB\n"
f"Days: {details['expiration_days']}\n"
f"Account Creation: {details['account_creation_date']}\n"
f"Blocked: {details['blocked']}"
)
))
else:
for username, details in users.items():
if query_text in username.lower():
title = f"{username}"
description = f"Traffic Limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB, Expiration Days: {details['expiration_days']}"
results.append(types.InlineQueryResultArticle(
id=username,
title=title,
description=description,
input_message_content=types.InputTextMessageContent(
message_text=f"Name: {username}\n"
f"Traffic limit: {details['max_download_bytes'] / (1024 ** 3):.2f} GB\n"
f"Days: {details['expiration_days']}\n"
f"Account Creation: {details['account_creation_date']}\n"
f"Blocked: {details['blocked']}"
)
))
bot.answer_inline_query(query.id, results, cache_time=0)