mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2025-12-29 09:44:50 +00:00
Fix
This commit is contained in:
parent
968005fd12
commit
93adc81894
2 changed files with 50 additions and 7 deletions
|
|
@ -2,13 +2,25 @@ from database import dbname
|
|||
|
||||
matadb = dbname.sangmata
|
||||
|
||||
# Get Data User
|
||||
async def cek_userdata(user_id: int) -> bool:
|
||||
user = await matadb.find_one({"user_id": user_id})
|
||||
return True if user else False
|
||||
return bool(user)
|
||||
|
||||
async def get_userdata(user_id: int) -> bool:
|
||||
user = await matadb.find_one({"user_id": user_id})
|
||||
return user["username"], user["first_name"], user["last_name"]
|
||||
|
||||
async def add_userdata(user_id: int, username, first_name, last_name):
|
||||
await matadb.update_one({"user_id": user_id}, {"$set": {"username": username, "first_name": first_name, "last_name": last_name}}, upsert=True)
|
||||
await matadb.update_one({"user_id": user_id}, {"$set": {"username": username, "first_name": first_name, "last_name": last_name}}, upsert=True)
|
||||
|
||||
# Enable Mata MissKaty in Selected Chat
|
||||
async def is_sangmata_on(chat_id: int) -> bool:
|
||||
chat = await matadb.find_one({"chat_id_toggle": chat_id})
|
||||
return bool(chat)
|
||||
|
||||
async def sangmata_on(chat_id: int) -> bool:
|
||||
await matadb.update_one({"chat_id_toggle": chat_id})
|
||||
|
||||
async def sangmata_off(chat_id: int):
|
||||
await matadb.delete_one({"chat_id_toggle": chat_id})
|
||||
|
|
@ -1,13 +1,21 @@
|
|||
from misskaty import app
|
||||
from pyrogram import filters
|
||||
from database.sangmata_db import *
|
||||
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.chat(-1001580327675) & ~filters.bot & ~filters.via_bot,
|
||||
filters.group & ~filters.bot & ~filters.via_bot,
|
||||
group=3,
|
||||
)
|
||||
async def cek_mataa(_, m):
|
||||
if not is_sangmata_on: 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)
|
||||
|
|
@ -15,12 +23,35 @@ async def cek_mataa(_, m):
|
|||
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} mengganti username dari {username} menjadi {m.from_user.username}.\n"
|
||||
msg += f"{m.from_user.mention} 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} mengganti username dari {username} menjadi {m.from_user.username}.\n"
|
||||
msg += f"{m.from_user.mention} 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} mengganti username dari {username} menjadi {m.from_user.username}."
|
||||
msg += f"{m.from_user.mention} 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)
|
||||
await m.reply(msg)
|
||||
await m.reply(msg, quote=True)
|
||||
|
||||
@app.on_message(
|
||||
filters.group & filters.command("sangmata_set", COMMAND_HANDLER) & ~filters.bot & ~filters.via_bot
|
||||
)
|
||||
async def set_mataa(_, m):
|
||||
if len(m.command) == 1:
|
||||
return m.reply(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 m.reply("SangMata already enabled in your groups.")
|
||||
else:
|
||||
await sangmata_on(m.chat.id)
|
||||
await m.reply("Sangmata enabled in your groups.")
|
||||
elif m.command[1] == "off":
|
||||
cekset = await is_sangmata_on(m.chat.id)
|
||||
if cekset:
|
||||
await m.reply("SangMata already enabled in your groups.")
|
||||
else:
|
||||
await sangmata_off(m.chat.id)
|
||||
await m.reply("Sangmata enabled in your groups.")
|
||||
else:
|
||||
await m.reply("Unknown parameter, use only on/off parameter.")
|
||||
Loading…
Reference in a new issue