46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
from datetime import datetime
|
|
from app import app
|
|
from pyrogram import filters
|
|
from pyrogram.types import Message
|
|
from pyrogram.client import Client
|
|
from modules.utils import configGet, locale
|
|
from modules.database import col_warnings
|
|
from modules import custom_filters
|
|
|
|
|
|
@app.on_message(
|
|
custom_filters.enabled_warnings
|
|
& ~filters.scheduled
|
|
& filters.command(["warn"], prefixes=["/"])
|
|
& custom_filters.admin
|
|
)
|
|
async def cmd_warn(app: Client, msg: Message):
|
|
if msg.chat.id == configGet("users", "groups"):
|
|
if msg.reply_to_message_id != None:
|
|
message = " ".join(msg.command[1:]) if len(msg.command) > 1 else ""
|
|
col_warnings.insert_one(
|
|
{
|
|
"user": msg.reply_to_message.from_user.id,
|
|
"admin": msg.from_user.id,
|
|
"date": datetime.now(),
|
|
"reason": message,
|
|
"active": True,
|
|
"revoke_date": None,
|
|
}
|
|
)
|
|
if message == "":
|
|
await msg.reply_text(
|
|
locale("warned", "message").format(
|
|
msg.reply_to_message.from_user.first_name,
|
|
msg.reply_to_message.from_user.id,
|
|
)
|
|
)
|
|
else:
|
|
await msg.reply_text(
|
|
locale("warned_reason", "message").format(
|
|
msg.reply_to_message.from_user.first_name,
|
|
msg.reply_to_message.from_user.id,
|
|
message,
|
|
)
|
|
)
|