34 lines
2.2 KiB
Python
34 lines
2.2 KiB
Python
from app import app
|
|
from pyrogram import filters
|
|
from pyrogram.types import Message
|
|
from pyrogram.client import Client
|
|
from classes.errors.holo_user import UserInvalidError
|
|
from classes.holo_user import HoloUser
|
|
from modules.utils import logWrite, locale, should_quote, find_user
|
|
from modules import custom_filters
|
|
|
|
# Message command ==============================================================================================================
|
|
@app.on_message(custom_filters.enabled_general & ~filters.scheduled & filters.command(["message"], prefixes=["/"]) & custom_filters.admin)
|
|
async def cmd_message(app: Client, msg: Message):
|
|
|
|
try:
|
|
|
|
try:
|
|
destination = HoloUser(int(msg.command[1]))
|
|
except (ValueError, UserInvalidError):
|
|
destination = HoloUser(await find_user(app, query=msg.command[1]))
|
|
|
|
if ((msg.text is not None) and (len(msg.text.split()) > 2)):
|
|
await destination.message(context=msg, text=" ".join(msg.text.split()[2:]), caption=msg.caption, photo=msg.photo, video=msg.video, file=msg.document, voice=msg.voice, animation=msg.animation, adm_context=True)
|
|
elif ((msg.caption is not None) and (len(msg.caption.split()) > 2)):
|
|
await destination.message(context=msg, text=msg.text, caption=" ".join(msg.caption.split()[2:]), photo=msg.photo, video=msg.video, file=msg.document, voice=msg.voice, animation=msg.animation, adm_context=True)
|
|
else:
|
|
await destination.message(context=msg, text=None, caption=None, photo=msg.photo, video=msg.video, file=msg.document, voice=msg.voice, animation=msg.animation, adm_context=True)
|
|
|
|
except IndexError:
|
|
await msg.reply_text(locale("message_invalid_syntax", "message", locale=msg.from_user), quote=should_quote(msg))
|
|
logWrite(f"Admin {msg.from_user.id} tried to send message but 'IndexError'")
|
|
except ValueError:
|
|
await msg.reply_text(locale("message_invalid_syntax", "message", locale=msg.from_user), quote=should_quote(msg))
|
|
logWrite(f"Admin {msg.from_user.id} tried to send message but 'ValueError'")
|
|
# ============================================================================================================================== |