mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2025-12-29 17:44:50 +00:00
* 'Refactored by Sourcery' * reformating: code --------- Co-authored-by: Sourcery AI <> Co-authored-by: yasirarism <yasiramunandar@gmail.com>
63 lines
3 KiB
Python
63 lines
3 KiB
Python
from pyrogram import filters
|
|
|
|
from database.sangmata_db import *
|
|
from misskaty import app
|
|
from misskaty.core.decorator.permissions import adminsOnly
|
|
from misskaty.core.message_utils import kirimPesan
|
|
from misskaty.vars import COMMAND_HANDLER
|
|
|
|
__MODULE__ = "SangMata"
|
|
__HELP__ = """"
|
|
This feature inspired from SangMata Bot. I'm created simple detection to check user data include username, first_name, and last_name.
|
|
/sangmata_set [on/off] - Enable/disable sangmata in groups.
|
|
"""
|
|
|
|
|
|
# Check user that change first_name, last_name and usernaname
|
|
@app.on_message(
|
|
filters.group & ~filters.bot & ~filters.via_bot,
|
|
group=3,
|
|
)
|
|
async def cek_mataa(_, m):
|
|
if not await is_sangmata_on(m.chat.id):
|
|
return
|
|
if not await cek_userdata(m.from_user.id):
|
|
return await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
|
|
username, first_name, last_name = await get_userdata(m.from_user.id)
|
|
msg = ""
|
|
if username != m.from_user.username or first_name != m.from_user.first_name or last_name != m.from_user.last_name:
|
|
msg += "👀 <b>Mata MissKaty</b>\n\n"
|
|
if username != m.from_user.username:
|
|
msg += f"{m.from_user.mention} [<code>{m.from_user.id}</code>] changed username from @{username} to @{m.from_user.username}.\n"
|
|
await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
|
|
if first_name != m.from_user.first_name:
|
|
msg += f"{m.from_user.mention} [<code>{m.from_user.id}</code>] changed first_name from {first_name} to {m.from_user.first_name}.\n"
|
|
await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
|
|
if last_name != m.from_user.last_name:
|
|
msg += f"{m.from_user.mention} [<code>{m.from_user.id}</code>] changed last_name from {last_name} to {m.from_user.last_name}."
|
|
await add_userdata(m.from_user.id, m.from_user.username, m.from_user.first_name, m.from_user.last_name)
|
|
if msg != "":
|
|
await kirimPesan(m, msg, quote=True)
|
|
|
|
|
|
@app.on_message(filters.group & filters.command("sangmata_set", COMMAND_HANDLER) & ~filters.bot & ~filters.via_bot)
|
|
@adminsOnly("can_change_info")
|
|
async def set_mataa(_, m):
|
|
if len(m.command) == 1:
|
|
return await kirimPesan(m, f"Use <code>/{m.command[0]} on</code>, to enable sangmata. If you want disable, you can use off parameter.")
|
|
if m.command[1] == "on":
|
|
cekset = await is_sangmata_on(m.chat.id)
|
|
if cekset:
|
|
await kirimPesan(m, "SangMata already enabled in your groups.")
|
|
else:
|
|
await sangmata_on(m.chat.id)
|
|
await kirimPesan(m, "Sangmata enabled in your groups.")
|
|
elif m.command[1] == "off":
|
|
cekset = await is_sangmata_on(m.chat.id)
|
|
if cekset:
|
|
await kirimPesan(m, "SangMata already enabled in your groups.")
|
|
else:
|
|
await sangmata_off(m.chat.id)
|
|
await kirimPesan(m, "Sangmata enabled in your groups.")
|
|
else:
|
|
await kirimPesan(m, "Unknown parameter, use only on/off parameter.")
|