This commit closes #36
This commit is contained in:
parent
bd040af0cc
commit
f66f8421c3
@ -76,8 +76,8 @@
|
|||||||
"application_invalid_syntax": "Неправильний синтаксис!\nТреба: `/application ID/NAME/USERNAME`",
|
"application_invalid_syntax": "Неправильний синтаксис!\nТреба: `/application ID/NAME/USERNAME`",
|
||||||
"warned": "Попереджено **{0}** (`{1}`) про порушення правил",
|
"warned": "Попереджено **{0}** (`{1}`) про порушення правил",
|
||||||
"warned_reason": "Попереджено **{0}** (`{1}`)\n\n**Причина:**\n{2}",
|
"warned_reason": "Попереджено **{0}** (`{1}`)\n\n**Причина:**\n{2}",
|
||||||
"warnings_1": "Користувач **{0}** (`{1}`) має **{2}** попередження\n\nОбрати та зняти попередження:\n`/warnings {3} revoke`",
|
"warnings_1": "Користувач **{0}** (`{1}`) має **{2}** попередження\n\n{3}\n\nОбрати та зняти попередження:\n`/warnings {4} revoke`",
|
||||||
"warnings_2": "Користувач **{0}** (`{1}`) має **{2}** попереджень\n\nОбрати та зняти попередження:\n`/warnings {3} revoke`",
|
"warnings_2": "Користувач **{0}** (`{1}`) має **{2}** попереджень\n\n{3}\n\nОбрати та зняти попередження:\n`/warnings {4} revoke`",
|
||||||
"warnings_all": "**Список попереджень**\n\n{0}\n\nДля перегляду попереджень окремо взятого користувача слід використовувати `/warnings ID/NAME/USERNAME`",
|
"warnings_all": "**Список попереджень**\n\n{0}\n\nДля перегляду попереджень окремо взятого користувача слід використовувати `/warnings ID/NAME/USERNAME`",
|
||||||
"warnings_entry": "• {0} (`{1}`)\n Попереджень: {2}",
|
"warnings_entry": "• {0} (`{1}`)\n Попереджень: {2}",
|
||||||
"warnings_empty": "Щось тут порожньо...\nЗ іншого боку, це добре!",
|
"warnings_empty": "Щось тут порожньо...\nЗ іншого боку, це добре!",
|
||||||
|
@ -3,6 +3,7 @@ from app import app
|
|||||||
from pyrogram import filters
|
from pyrogram import filters
|
||||||
from pyrogram.types import CallbackQuery
|
from pyrogram.types import CallbackQuery
|
||||||
from pyrogram.client import Client
|
from pyrogram.client import Client
|
||||||
|
from pykeyboard import InlineKeyboard, InlineButton
|
||||||
from modules.utils import configGet, locale
|
from modules.utils import configGet, locale
|
||||||
from modules.database import col_warnings
|
from modules.database import col_warnings
|
||||||
from bson import ObjectId
|
from bson import ObjectId
|
||||||
@ -31,3 +32,28 @@ async def callback_query_warning_revoke(app: Client, clb: CallbackQuery):
|
|||||||
warning["user"], warning["date"].strftime("%d.%m.%Y")
|
warning["user"], warning["date"].strftime("%d.%m.%Y")
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
target_id = warning["user"]
|
||||||
|
if col_warnings.count_documents({"user": target_id, "active": True}) == 0:
|
||||||
|
await clb.edit_message_text(
|
||||||
|
locale("no_warnings", "message", locale=clb.from_user).format(
|
||||||
|
target_id, target_id
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return
|
||||||
|
keyboard = InlineKeyboard()
|
||||||
|
buttons = []
|
||||||
|
warnings = []
|
||||||
|
for index, warning in enumerate(
|
||||||
|
list(col_warnings.find({"user": target_id, "active": True}))
|
||||||
|
):
|
||||||
|
warnings.append(
|
||||||
|
f'{index+1}. {warning["date"].strftime("%d.%m.%Y, %H:%M")}\n Адмін: {warning["admin"]}\n Причина: {warning["reason"]}'
|
||||||
|
)
|
||||||
|
buttons.append(InlineButton(str(index + 1), f'w_rev_{str(warning["_id"])}'))
|
||||||
|
keyboard.add(*buttons)
|
||||||
|
await clb.edit_message_text(
|
||||||
|
locale("warnings_revoke", "message", locale=clb.from_user).format(
|
||||||
|
target_id, "\n".join(warnings)
|
||||||
|
),
|
||||||
|
)
|
||||||
|
await clb.edit_message_reply_markup(reply_markup=keyboard)
|
||||||
|
@ -123,17 +123,24 @@ async def cmd_warnings(app: Client, msg: Message):
|
|||||||
quote=should_quote(msg),
|
quote=should_quote(msg),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
|
warnings = []
|
||||||
|
for index, warning in enumerate(
|
||||||
|
list(col_warnings.find({"user": target_id, "active": True}))
|
||||||
|
):
|
||||||
|
warnings.append(
|
||||||
|
f'{index+1}. {warning["date"].strftime("%d.%m.%Y, %H:%M")}\n Адмін: {warning["admin"]}\n Причина: {warning["reason"]}'
|
||||||
|
)
|
||||||
if warns <= 5:
|
if warns <= 5:
|
||||||
await msg.reply_text(
|
await msg.reply_text(
|
||||||
locale("warnings_1", "message", locale=msg.from_user).format(
|
locale("warnings_1", "message", locale=msg.from_user).format(
|
||||||
target_name, target_id, warns, target_id
|
target_name, target_id, warns, "\n".join(warnings), target_id
|
||||||
),
|
),
|
||||||
quote=should_quote(msg),
|
quote=should_quote(msg),
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
await msg.reply_text(
|
await msg.reply_text(
|
||||||
locale("warnings_2", "message", locale=msg.from_user).format(
|
locale("warnings_2", "message", locale=msg.from_user).format(
|
||||||
target_name, target_id, warns, target_id
|
target_name, target_id, warns, "\n".join(warnings), target_id
|
||||||
),
|
),
|
||||||
quote=should_quote(msg),
|
quote=should_quote(msg),
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user