async def twarns(e): reply = await e.get_reply_message() if reply: user = reply.from_id.user_id else: try: user = e.text.split()[1] if user.startswith("@"): ok = await e.client.get_entity(user) user = ok.id else: user = int(user) except BaseException: return await eor(e, "Reply To A User", time=5) c, r = warns(e.chat_id, user) if c and r: ok = await e.client.get_entity(user) user = inline_mention(ok) r = r.split("|$|") text = f"User {user} Got {c} Warns.\n\n" for x in range(c): text += f"•**{x+1}.** {r[x]}\n" await eor(e, text) else: await eor(e, "`No Warnings`")
async def warn(e): ultroid_bot = e.client reply = await e.get_reply_message() if len(e.text) > 5 and " " not in e.text[5]: return if reply: user = reply.from_id.user_id reason = e.text[5:] if e.pattern_match.group(1) else "unknown" else: try: user = e.text.split()[1] if user.startswith("@"): ok = await ultroid_bot.get_entity(user) user = ok.id else: user = int(user) except BaseException: return await eor(e, "Reply To A User", time=5) try: reason = e.text.split(maxsplit=2)[-1] except BaseException: reason = "unknown" count, r = warns(e.chat_id, user) r = reason if not r else r + "|$|" + reason try: x = udB.get("SETWARN") number, action = int(x.split()[0]), x.split()[1] except BaseException: number, action = 3, "kick" if ("ban" or "kick" or "mute") not in action: action = "kick" if count + 1 >= number: if "ban" in action: try: await ultroid_bot.edit_permissions(e.chat_id, user, view_messages=False) except BaseException: return await eor(e, "`Something Went Wrong.`", time=5) elif "kick" in action: try: await ultroid_bot.kick_participant(e.chat_id, user) except BaseException: return await eor(e, "`Something Went Wrong.`", time=5) elif "mute" in action: try: await ultroid_bot.edit_permissions(e.chat_id, user, until_date=None, send_messages=False) except BaseException: return await eor(e, "`Something Went Wrong.`", time=5) add_warn(e.chat_id, user, count + 1, r) c, r = warns(e.chat_id, user) ok = await ultroid_bot.get_entity(user) user = inline_mention(ok) r = r.split("|$|") text = f"User {user} Got {action} Due to {count+1} Warns.\n\n" for x in range(c): text += f"•**{x+1}.** {r[x]}\n" await eor(e, text) return reset_warn(e.chat_id, ok.id) add_warn(e.chat_id, user, count + 1, r) ok = await ultroid_bot.get_entity(user) user = inline_mention(ok) await eor( e, f"**WARNING :** {count+1}/{number}\n**To :**{user}\n**Be Careful !!!**\n\n**Reason** : {reason}", )