async def reject(event): # print('Trying OmO') replied = await event.get_reply_message() me = await System.get_me() if replied.from_id.user_id == me.id: # print('Matching UwU') match = re.match(r"\$(SCAN|AUTO(SCAN)?)", replied.text) if match: # print('Matched OmU') id = replied.id await System.edit_message(Sibyl_logs, id, reject_string) orig = re.search(r"t.me/(\w+)/(\d+)", replied.text) _orig = re.search(r"t.me/c/(\w+)/(\d+)", replied.text) flags, reason = seprate_flags(event.text) if _orig and "r" in flags.keys(): await System.send_message( int(_orig.group(1)), f'Crime coefficient less than 100\nUser is not a target for enforcement action\nTrigger of dominator will be locked.\nReason: **{reason.split(" ", 1)[1].strip()}**', reply_to=int(_orig.group(2)), ) return if orig and "r" in flags.keys(): await System.send_message( orig.group(1), f'Crime coefficient less than 100\nUser is not a target for enforcement action\nTrigger of dominator will be locked.\nReason: **{reason.split(" ", 1)[1].strip()}**', reply_to=int(orig.group(2)), )
async def approve(event): replied = await event.get_reply_message() match = re.match(r'\$SCAN', replied.text) auto_match = re.search(r'\$AUTO(SCAN)?', replied.text) me = await System.get_me() if auto_match: if replied.sender.id == me.id: id = re.search( r"\*\*Scanned user:\*\* (\[\w+\]\(tg://user\?id=(\d+)\)|(\d+))", replied.text).group(2) try: bot = (await System.get_entity(id)).bot except: bot = False reason = re.search('\*\*Reason:\*\* (.*)', replied.text).group(1) await System.gban(enforcer=me.id, target=id, reason = reason, msg_id=replied.id, auto=True, bot=bot) return "OwO" if match: reply = replied.sender.id sender = await event.get_sender() flags, reason = seprate_flags(event.text) # checks to not gban the Gbanner and find who is who if reply == me.id: list = re.findall(r'tg://user\?id=(\d+)', replied.text) if 'or' in flags.keys(): await replied.edit(re.sub('(\*\*)?(Scan)? ?Reason:(\*\*)? (`([^`]*)`|.*)', f'**Scan Reason:** {reason.split(" ", 1)[1].strip()}', replied.text)) reason = reason.split(" ", 1)[1].strip() else: reason = re.search(r"(\*\*)?(Scan)? ?Reason:(\*\*)? (`([^`]*)`|.*)", replied.text) reason = reason.group(5) if reason.group(5) else reason.group(4) if len(list) > 1: id1 = list[0] id2 = list[1] else: id1 = list[0] id2 = re.findall(r'(\d+)', replied.text)[1] if id1 in ENFORCERS or SIBYL: enforcer = id1 scam = id2 else: enforcer = id2 scam = id1 try: bot = (await System.get_entity(scam)).bot except: bot = False await System.gban(enforcer, scam, reason, replied.id, sender, bot=bot) orig = re.search(r"t.me/(\w+)/(\d+)", replied.text) if orig: await System.send_message(orig.group(1), 'User is a target for enforcement action.\nEnforcement Mode: Lethal Eliminator', reply_to = int(orig.group(2)))
async def scan(event): replied = await event.get_reply_message() flags, reason = seprate_flags(event.text) if len(reason.split(" ", 1)) == 1: return split = reason.strip().split(" ", 1) reason = reason.strip().split(" ", 1)[1].strip() if "u" in flags.keys(): url = reason data = get_data_from_url(url) if not data: await event.reply("Invalid url") return try: message = await System.get_messages( int(data[0]) if data[0].isnumeric() else data[0], ids=int(data[1]) ) except: await event.reply("Failed to get data from url") return executor = await event.get_sender() executor = f"[{executor.first_name}](tg://user?id={executor.id})" if not message: await event.reply("Failed to get data from url") return if message.from_id.user_id in MANAGERS: return msg = await System.send_message( Sibyl_logs, scan_request_string.format( manager=executor, spammer=message.from_id.user_id, chat=f"https://t.me/{data[0]}/{data[1]}", message=message.text, reason=reason.split(" ", 1)[1].strip(), ), ) return if not event.is_reply: return if "o" in flags.keys(): if replied.fwd_from: reply = replied.fwd_from target = reply.from_id.user_id if reply.from_id.user_id in MANAGERS or reply.from_id.user_id in CARDINAL: return if not reply.from_id.user_id: await event.reply("Cannot get user ID.") return if reply.from_name: sender = f"[{reply.from_name}](tg://user?id={reply.from_id.user_id})" else: sender = f"[{reply.from_id.user_id}](tg://user?id={reply.from_id.user_id})" else: if replied.sender.id in MANAGERS: return sender = f"[{replied.sender.first_name}](tg://user?id={replied.sender.id})" target = replied.sender.id executer = await event.get_sender() req_proof = req_user = False if "f" in flags.keys() and executer.id in DEVELOPERS: approve = True else: approve = False if replied.media: await replied.forward_to(Sibyl_logs) executor = f"[{executer.first_name}](tg://user?id={executer.id})" chat = ( f"t.me/{event.chat.username}/{event.message.id}" if event.chat.username else f"t.me/c/{event.chat.id}/{event.message.id}" ) await event.reply("Connecting to Cardinal for a cymatic scan.") if req_proof and req_user: await replied.forward_to(Sibyl_logs) await System.gban( executer.id, req_user, reason, msg.id, executer, message=replied.text ) if not approve: msg = await System.send_message( Sibyl_logs, scan_request_string.format( manager=executor, spammer=sender, chat=chat, message=replied.text, reason=reason, ), ) return msg = await System.send_message( Sibyl_logs, forced_scan_string.format( dev=executor, spammer=sender, chat=chat, message=replied.text, reason=reason ), ) await System.gban( executer.id, target, reason, msg.id, executer, message=replied.text )
async def stfu(event, flags): replied = await event.get_reply_message() if flags.r: reason = " ".join(flags.r) else: split = event.text.split(' ', 1) if len(split) == 1: return reason = seprate_flags(split[1]).strip() if not reason: return if flags.u: url = flags.u data = get_data_from_url(url) if not data: await event.reply("Invalid url") return try: message = await System.get_messages( int(data[0]) if data[0].isnumeric() else data[0], ids=int(data[1])) except: await event.reply("Failed to get data from url") return executor = await event.get_sender() executor = f"[{executor.first_name}](tg://user?id={executor.id})" if not message: await event.reply("Failed to get data from url") return if message.from_id.user_id in ENFORCERS: return msg = await System.send_message( Sibyl_logs, scan_request_string.format( enforcer=executor, spammer=message.from_id.user_id, chat=f"https://t.me/{data[0]}/{data[1]}", message=message.text, reason=reason, ), ) return if not event.is_reply: return if flags.o: if replied.fwd_from: reply = replied.fwd_from target = reply.from_id.user_id if reply.from_id.user_id in ENFORCERS or reply.from_id.user_id in SIBYL: return if not reply.from_id.user_id: await event.reply("Cannot get user ID.") return if reply.from_name: sender = f"[{reply.from_name}](tg://user?id={reply.from_id.user_id})" else: sender = ( f"[{reply.from_id.user_id}](tg://user?id={reply.from_id.user_id})" ) else: if replied.sender.id in ENFORCERS: return sender = f"[{replied.sender.first_name}](tg://user?id={replied.sender.id})" target = replied.sender.id executer = await event.get_sender() req_proof = req_user = False if flags.f and executer.id in INSPECTORS: approve = True else: approve = False if replied.media: await replied.forward_to(Sibyl_logs) executor = f"[{executer.first_name}](tg://user?id={executer.id})" chat = (f"t.me/{event.chat.username}/{event.message.id}" if event.chat.username else f"t.me/c/{event.chat.id}/{event.message.id}") await event.reply("Ok!") if req_proof and req_user: await replied.forward_to(Sibyl_logs) await System.gban(executer.id, req_user, reason, msg.id, executer, message=replied.text) if not approve: msg = await System.send_message( Sibyl_logs, scan_request_string.format( enforcer=executor, spammer=sender, chat=chat, message=replied.text, reason=reason, ), ) return msg = await System.send_message( Sibyl_logs, forced_scan_string.format(ins=executor, spammer=sender, chat=chat, message=replied.text, reason=reason), ) await System.gban(executer.id, target, reason, msg.id, executer, message=replied.text)
async def scan(event): replied = await event.get_reply_message() flags, reason = seprate_flags(event.text) if len(reason.split(" ", 1)) == 1: return split = reason.strip().split(" ", 1) reason = reason.strip().split(" ", 1)[1] if 'u' in flags.keys(): url = reason data = get_data_from_url(url.strip()) if not data: await event.reply('Invalid url') return try: message = await System.get_messages( int(data[0]) if data[0].isnumeric() else data[0], ids=int(data[1])) except: await event.reply('Failed to get data from url') return executor = await event.get_sender() executor = f'[{executor.first_name}](tg://user?id={executor.id})' if not message: await event.reply('Failed to get data from url') return if message.from_id in ENFORCERS: return msg = await System.send_message( Sibyl_logs, scan_request_string.format( enforcer=executor, spammer=message.from_id, chat=f"https://t.me/{data[0]}/{data[1]}", message=message.text, reason=split[1].strip().split(' ')[1])) return if not event.is_reply: return if 'o' in flags.keys(): if replied.fwd_from: reply = replied.fwd_from target = reply.from_id if reply.from_id in ENFORCERS or reply.from_id in SIBYL: return if not reply.from_id: await event.reply("Cannot get user ID.") return if reply.from_name: sender = f"[{reply.from_name}](tg://user?id={reply.from_id})" else: sender = f"[{reply.from_id}](tg://user?id={reply.from_id})" else: if replied.sender.id in ENFORCERS: return sender = f"[{replied.sender.first_name}](tg://user?id={replied.sender.id})" target = replied.sender.id executer = await event.get_sender() req_proof = req_user = False if 'f' in flags.keys() and executer.id in INSPECTORS: approve = True else: approve = False if replied.media: await replied.forward_to(Sibyl_logs) executor = f'[{executer.first_name}](tg://user?id={executer.id})' chat = f"t.me/{event.chat.username}/{event.message.id}" if event.chat.username else f"t.me/c/{event.chat.id}/{event.message.id}" await event.reply("Connecting to Sibyl for a cymatic scan.") if req_proof and req_user: await replied.forward_to(Sibyl_logs) await System.gban(executer.id, req_user, reason, msg.id, executer) if not approve: msg = await System.send_message( Sibyl_logs, scan_request_string.format(enforcer=executor, spammer=sender, chat=chat, message=replied.text, reason=reason)) return msg = await System.send_message( Sibyl_logs, forced_scan_string.format(ins=executor, spammer=sender, chat=chat, message=replied.text, reason=reason)) await System.gban(executer.id, target, reason, msg.id, executer)
async def approve(event): replied = await event.get_reply_message() match = re.match(r"\$SCAN", replied.text) auto_match = re.search(r"\$AUTO(SCAN)?", replied.text) me = await System.get_me() if auto_match: if replied.sender.id == me.id: id = re.search( r"\*\*Scanned user:\*\* (\[\w+\]\(tg://user\?id=(\d+)\)|(\d+))", replied.text, ).group(2) try: message = re.search( "(\*\*)?Message:(\*\*)? (.*)", replied.text, re.DOTALL ).group(3) except: message = None try: bot = (await System.get_entity(id)).bot except: bot = False reason = re.search("\*\*Reason:\*\* (.*)", replied.text).group(1) await System.gban( enforcer=me.id, target=id, reason=reason, msg_id=replied.id, auto=True, bot=bot, message=message, ) return "OwO" if match: reply = replied.sender.id sender = await event.get_sender() flags, reason = seprate_flags(event.text) # checks to not gban the Gbanner and find who is who if reply == me.id: list = re.findall(r"tg://user\?id=(\d+)", replied.text) if "or" in flags.keys(): await replied.edit( re.sub( "(\*\*)?(Scan)? ?Reason:(\*\*)? (`([^`]*)`|.*)", f'**Scan Reason:** {reason.split(" ", 1)[1].strip()}', replied.text, ) ) reason = reason.split(" ", 1)[1].strip() else: reason = re.search( r"(\*\*)?(Scan)? ?Reason:(\*\*)? (`([^`]*)`|.*)", replied.text ) reason = reason.group(5) if reason.group(5) else reason.group(4) if len(list) > 1: id1 = list[0] id2 = list[1] else: id1 = list[0] id2 = re.findall(r"(\d+)", replied.text)[1] if id1 in ENFORCERS or SIBYL: enforcer = id1 scam = id2 else: enforcer = id2 scam = id1 try: bot = (await System.get_entity(scam)).bot except: bot = False try: message = re.search( "(\*\*)?Target Message:(\*\*)? (.*)", replied.text, re.DOTALL ).group(3) except: message = None await System.gban( enforcer, scam, reason, replied.id, sender, bot=bot, message=message ) orig = re.search(r"t.me/(\w+)/(\d+)", replied.text) if orig: await System.send_message( orig.group(1), "**Arcane detected maliciousness on scanned user.**\n\n• Action: **Enforcing GBan**", reply_to=int(orig.group(2)), )