From 57428e530ade4d4c138fc70adc37536b35cdfebe Mon Sep 17 00:00:00 2001 From: profitroll Date: Fri, 16 Dec 2022 11:15:56 +0100 Subject: [PATCH] Optimized for DB/OOP --- modules/handlers/group_join.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/handlers/group_join.py b/modules/handlers/group_join.py index 6012d9d..b977f64 100644 --- a/modules/handlers/group_join.py +++ b/modules/handlers/group_join.py @@ -2,17 +2,24 @@ from os import sep, path from app import app, isAnAdmin from pyrogram.types import ChatPermissions, InlineKeyboardMarkup, InlineKeyboardButton from modules.utils import configGet, jsonLoad, locale +from modules.database import col_users +from classes.holo_user import HoloUser # Filter users on join ========================================================================================================= @app.on_chat_member_updated(group=configGet("destination_group")) #@app.on_message(filters.new_chat_members, group=configGet("destination_group")) async def filter_join(app, member): + if member.invite_link != None: - if (path.exists(f"{configGet('data', 'locations')}{sep}users{sep}{member.from_user.id}.json") and jsonLoad(f"{configGet('data', 'locations')}{sep}users{sep}{member.from_user.id}.json")["approved"]) or (await isAnAdmin(member.from_user.id) is True): - if configGet("link", file=str(member.from_user.id)) == member.invite_link.invite_link: - return + + holo_user = HoloUser(member.from_user) + + if (holo_user.link is not None) and (holo_user.link == member.invite_link): + return + if await isAnAdmin(member.invite_link.creator.id): return + await app.send_message(configGet("admin_group"), f"User **{member.from_user.first_name}** (`{member.from_user.id}`) joined the chat not with his personal link", reply_markup=InlineKeyboardMarkup( [ [