2022-12-05 19:49:51 +02:00
|
|
|
from os import path, sep
|
|
|
|
from app import app, isAnAdmin
|
|
|
|
from pyrogram import filters
|
|
|
|
from pyrogram.enums.chat_members_filter import ChatMembersFilter
|
2022-12-14 15:30:51 +02:00
|
|
|
from modules.utils import configGet, locale, should_quote
|
|
|
|
from modules.database import col_warnings
|
2022-12-05 19:49:51 +02:00
|
|
|
|
|
|
|
# Warnings command =============================================================================================================
|
|
|
|
@app.on_message(~ filters.scheduled & filters.command(["warnings"], prefixes=["/"]))
|
|
|
|
async def cmd_warnings(app, msg):
|
|
|
|
|
|
|
|
if msg.chat.id == configGet("admin_group") or await isAnAdmin(msg.from_user.id):
|
|
|
|
|
|
|
|
if len(msg.command) <= 1:
|
|
|
|
await msg.reply_text(locale("syntax_warnings", "message"), quote=should_quote(msg))
|
|
|
|
|
|
|
|
if path.exists(f"{configGet('data', 'locations')}{sep}users{sep}{msg.command[1]}.json"):
|
|
|
|
target_id = str(int(msg.command[1]))
|
|
|
|
target_name = "N/A"
|
|
|
|
else:
|
|
|
|
list_of_users = []
|
|
|
|
async for m in app.get_chat_members(configGet("destination_group"), filter=ChatMembersFilter.SEARCH, query=msg.command[1]):
|
|
|
|
list_of_users.append(m)
|
|
|
|
|
|
|
|
if len(list_of_users) != 0:
|
|
|
|
target = list_of_users[0].user
|
|
|
|
target_name = target.first_name
|
|
|
|
target_id = str(target.id)
|
|
|
|
else:
|
2022-12-06 11:26:22 +02:00
|
|
|
await msg.reply_text(locale("no_user_warnings", "message").format(msg.command[1]))
|
2022-12-05 19:49:51 +02:00
|
|
|
return
|
|
|
|
|
2022-12-14 15:30:51 +02:00
|
|
|
warns = len(list(col_warnings.find({"user": target_id})))
|
|
|
|
|
|
|
|
if warns == 0:
|
2022-12-06 11:26:22 +02:00
|
|
|
await msg.reply_text(locale("no_warnings", "message").format(target_name, target_id), quote=should_quote(msg))
|
2022-12-05 19:49:51 +02:00
|
|
|
else:
|
2022-12-14 15:30:51 +02:00
|
|
|
if warns <= 5:
|
|
|
|
await msg.reply_text(locale("warnings_1", "message").format(target_name, target_id, warns), quote=should_quote(msg))
|
2022-12-05 19:49:51 +02:00
|
|
|
else:
|
2022-12-14 15:30:51 +02:00
|
|
|
await msg.reply_text(locale("warnings_2", "message").format(target_name, target_id, warns), quote=should_quote(msg))
|
2022-12-05 19:49:51 +02:00
|
|
|
# ==============================================================================================================================
|