import json import datetime import time from telethon import client from telethon.sync import TelegramClient from telethon.tl.types import UserStatusRecently, UserStatusOnline, User class PmBot(): def __init__(self, api_id: str, api_hash: str) -> None: self.api_id = api_id self.api_hash = api_hash self.config = json.load(open("config.json", "r", encoding="utf-8")) self.client = "" self.counter = 1 def change_client(self, session_name: str) -> None: self.client = "" self.client = TelegramClient("sessions\\" + session_name, self.api_id, self.api_hash) self.client.connect() print(f"[ - ] {session_name} ADLI HESABA GİRİŞ YAPILDI") def get_users(self, group_name: str, eklenecek: str): self.users = [] users_will_add = self.client.get_participants(group_name, aggressive=True) users_added = self.client.get_participants(eklenecek, aggressive=True) usersa = [] white_list = [za.replace("\n", "").lower() for za in open("white_list.txt", "r", encoding="utf-8").readlines()] for user in users_will_add: now = datetime.datetime.now() - datetime.timedelta(hours=24) if user not in users_added and ( True in [sa.lower() in white_list for sa in f"{user.first_name} {user.last_name}".split(" ")] or "**" in white_list and user not in users_added ): print([sa.lower() for sa in f"{user.first_name} {user.last_name}".split(" ")]) if user.status: print(user.status, type(user.status), type(UserStatusRecently())) if type(user.status) == type(UserStatusRecently()): usersa.append( { "id": user.id, "name": user.first_name, "last_name": user.last_name } ) else: print("geçmiş değil") try: if datetime.datetime( user.status.was_online.year, user.status.was_online.month, user.status.was_online.day, user.status.was_online.hour, user.status.was_online.minute, user.status.was_online.second, user.status.was_online.microsecond ) > now: usersa.append( { "id": user.id, "name": user.first_name, "last_name": user.last_name } ) except: print("geçmişi yok ") pass else: if type(UserStatusOnline(expires="")) == type(user.status): usersa.append( { "id": user.id, "name": user.first_name, "last_name": user.last_name } ) else: print("online değilü") with open('data.json', 'w', encoding="utf-8") as outfile: json.dump(usersa, outfile) print(f"[ - ] {len(usersa)} adet üye çekildi ;)") def send_messages(self, group_name: str, count: int, message: str, sleept: int): users = json.load(open("da