from os import sep from app import app, isAnAdmin from pyrogram import filters from pyrogram.errors import bad_request_400 from classes.holo_user import HoloUser from modules.utils import jsonLoad, jsonSave, logWrite, locale, configGet, should_quote from modules.database import col_messages # Message command ============================================================================================================== @app.on_message(~ filters.scheduled & filters.command(["message"], prefixes=["/"])) async def cmd_message(app, msg): if msg.chat.id == configGet("admin_group") or await isAnAdmin(msg.from_user.id): try: try: destination = HoloUser(int(msg.command[1])) except ValueError: destination = HoloUser(msg.command[1]) void = msg.command[2] message = " ".join(msg.command[2:]) await destination.message(msg, msg.command[2:]) # try: # new_message = await app.send_message(destination.id, message+locale("message_reply_notice", "message")) # await msg.reply_text(locale("message_sent", "message"), quote=should_quote(msg)) # logWrite(f"Admin {msg.from_user.id} sent message '{' '.join(msg.command[2:])}' to {destination.id}") # col_messages.insert_one({"origin": {"chat": msg.chat.id, "id": msg.id}, "destination": {"chat": new_message.chat.id, "id": new_message.id}}) # except bad_request_400.PeerIdInvalid: # await msg.reply_text(locale("message_no_user", "message"), quote=should_quote(msg)) # logWrite(f"Admin {msg.from_user.id} tried to send message '{' '.join(msg.command[2:])}' to {destination.id} but 'PeerIdInvalid'") except IndexError: await msg.reply_text(locale("message_invalid_syntax", "message"), 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"), quote=should_quote(msg)) logWrite(f"Admin {msg.from_user.id} tried to send message but 'ValueError'") # ==============================================================================================================================