ckrunknown/roomspamapi
1
1# By AbdeeLkarim BesTo2 3import requests , json , binascii , time , urllib3 , base64 , datetime , re ,socket , threading , random , os4from protobuf_decoder.protobuf_decoder import Parser5from Crypto.Cipher import AES6from Crypto.Util.Padding import pad , unpad7from datetime import datetime8from google.protobuf.timestamp_pb2 import Timestamp9 10urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)11 12Key , Iv = bytes([89, 103, 38, 116, 99, 37, 68, 69, 117, 104, 54, 37, 90, 99, 94, 56]) , bytes([54, 111, 121, 90, 68, 114, 50, 50, 69, 51, 121, 99, 104, 106, 77, 37])13 14def EnC_AEs(HeX):15 cipher = AES.new(Key , AES.MODE_CBC , Iv)16 return cipher.encrypt(pad(bytes.fromhex(HeX), AES.block_size)).hex()17 18def DEc_AEs(HeX):19 cipher = AES.new(Key , AES.MODE_CBC , Iv)20 return unpad(cipher.decrypt(bytes.fromhex(HeX)), AES.block_size).hex()21 22def EnC_PacKeT(HeX , K , V): 23 return AES.new(K , AES.MODE_CBC , V).encrypt(pad(bytes.fromhex(HeX) ,16)).hex()24 25def DEc_PacKeT(HeX , K , V):26 return unpad(AES.new(K , AES.MODE_CBC , V).decrypt(bytes.fromhex(HeX)) , 16).hex() 27 28def EnC_Uid(H , Tp):29 e , H = [] , int(H)30 while H:31 e.append((H & 0x7F) | (0x80 if H > 0x7F else 0)) ; H >>= 732 return bytes(e).hex() if Tp == 'Uid' else None33 34def EnC_Vr(N):35 if N < 0: ''36 H = []37 while True:38 BesTo = N & 0x7F ; N >>= 739 if N: BesTo |= 0x8040 H.append(BesTo)41 if not N: break42 return bytes(H)43 44def DEc_Uid(H):45 n = s = 046 for b in bytes.fromhex(H):47 n |= (b & 0x7F) << s48 if not b & 0x80: break49 s += 750 return n51 52def CrEaTe_VarianT(field_number, value):53 field_header = (field_number << 3) | 054 return EnC_Vr(field_header) + EnC_Vr(value)55 56def CrEaTe_LenGTh(field_number, value):57 field_header = (field_number << 3) | 258 encoded_value = value.encode() if isinstance(value, str) else value59 return EnC_Vr(field_header) + EnC_Vr(len(encoded_value)) + encoded_value60 61def CrEaTe_ProTo(fields):62 packet = bytearray() 63 for field, value in fields.items():64 if isinstance(value, dict):65 nested_packet = CrEaTe_ProTo(value)66 packet.extend(CrEaTe_LenGTh(field, nested_packet))67 elif isinstance(value, int):68 packet.extend(CrEaTe_VarianT(field, value)) 69 elif isinstance(value, str) or isinstance(value, bytes):70 packet.extend(CrEaTe_LenGTh(field, value)) 71 return packet 72 73def DecodE_HeX(H):74 R = hex(H) 75 F = str(R)[2:]76 if len(F) == 1: F = "0" + F ; return F77 else: return F78 79def Fix_PackEt(parsed_results):80 result_dict = {}81 for result in parsed_results:82 field_data = {}83 field_data['wire_type'] = result.wire_type84 if result.wire_type == "varint":85 field_data['data'] = result.data86 if result.wire_type == "string":87 field_data['data'] = result.data88 if result.wire_type == "bytes":89 field_data['data'] = result.data90 elif result.wire_type == 'length_delimited':91 field_data["data"] = Fix_PackEt(result.data.results)92 result_dict[result.field] = field_data93 return result_dict94 95def DeCode_PackEt(input_text):96 try:97 parsed_results = Parser().parse(input_text)98 parsed_results_objects = parsed_results99 parsed_results_dict = Fix_PackEt(parsed_results_objects)100 json_data = json.dumps(parsed_results_dict)101 return json_data102 except Exception as e:103 print(f"error {e}")104 return None105 106def xMsGFixinG(n):107 return '๐ฟ'.join(str(n)[i:i + 3] for i in range(0 , len(str(n)) , 3))108 109def ArA_CoLor():110 Tp = ["32CD32" , "00BFFF" , "00FA9A" , "90EE90" , "FF4500" , "FF6347" , "FF69B4" , "FF8C00" , "FF6347" , "FFD700" , "FFDAB9" , "F0F0F0" , "F0E68C" , "D3D3D3" , "A9A9A9" , "D2691E" , "CD853F" , "BC8F8F" , "6A5ACD" , "483D8B" , "4682B4", "9370DB" , "C71585" , "FF8C00" , "FFA07A"]111 return random.choice(Tp)112 113def xBunnEr():114 bN = [902000306 , 902000305 , 902000003 , 902000016 , 902000017 , 902000019 , 902000020 , 902000021 , 902000023 , 902000070 , 902000087 , 902000108 , 902000011 , 902049020 , 902049018 , 902049017 , 902049016 , 902049015 , 902049003 , 902033016 , 902033017 , 902033018 , 902048018 , 902000306 , 902000305]115 return random.choice(bN)116 117def xSEndMsg(Msg , Tp , Tp2 , id , K , V):118 feilds = {1: id, 2: Tp2, 3: Tp, 4: Msg , 5: 1735129800, 7: 2, 9: {1: "xBesTo - C4ยญ", 2: xBunnEr(), 3: 901048018, 4: 330, 5: 909034009, 8: "xBesTo - C4", 10: 1, 11: 1, 14: {1: 1158053040, 2: 8, 3: "\u0010\u0015\b\n\u000b\u0015\f\u000f\u0011\u0004\u0007\u0002\u0003\r\u000e\u0012\u0001\u0005\u0006"}}, 10: "en", 13: {2: 1, 3: 1}, 14: {}}119 Pk = str(CrEaTe_ProTo(feilds).hex())120 Pk = "080112" + EnC_Uid(len(Pk) // 2 , Tp = 'Uid') + Pk121 return GeneRaTePk(str(Pk) , '1215' , K , V)122 123def spam_room(self, idroom, idplayer):124 fields = {125 1: 78,126 2: {127 1: int(idroom),128 2: "[C][B]ZIX[FF0000]OFFICIAL",129 4: 330,130 5: 6000,131 6: 201,132 10: int(get_random_avatar()),133 11: int(idplayer),134 12: 1135 }136 }137 packet = create_protobuf_packet(fields)138 packet = packet.hex()139 header_lenth = len(encrypt_packet(packet, key, iv))//2140 header_lenth_final = dec_to_hex(header_lenth)141 if len(header_lenth_final) == 2:142 final_packet = "0E15000000" + header_lenth_final + self.nmnmmmmn(packet)143 elif len(header_lenth_final) == 3:144 final_packet = "0E1500000" + header_lenth_final + self.nmnmmmmn(packet)145 elif len(header_lenth_final) == 4:146 final_packet = "0E150000" + header_lenth_final + self.nmnmmmmn(packet)147 elif len(header_lenth_final) == 5:148 final_packet = "0E15000" + header_lenth_final + self.nmnmmmmn(packet)149 return bytes.fromhex(final_packet)150 151def Auth_Chat(idT, sq, K, V):152 fields = {153 1: 3,154 2: {155 1: idT,156 3: "fr",157 4: sq158 }159 }160 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '1215' , K , V)161def xSendTeamMsg(msg, idT, K, V):162 fields = {163 1: 1,164 2: {165 1: 12404281032,166 2: idT,167 4: msg,168 7: 2,169 10: "fr",170 9: {171 1: "ZIX",172 2: xBunnEr(),173 4: 330,174 5: 827001005,175 8: "ZIX",176 10: 1,177 11: 1,178 12: {179 1: 2180 },181 14: {182 1: 1158053040,183 2: 8,184 3: "\u0010\u0015\b\n\u000b\u0015\f\u000f\u0011\u0004\u0007\u0002\u0003\r\u000e\u0012\u0001\u0005\u0006"185 }186 },187 13: {188 1: 2,189 2: 1190 },191 14:{}192 }193}194 195 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '1215' , K , V)196 197def OpEnSq(K , V):198 fields = {1: 1, 2: {2: "\u0001", 3: 1, 4: 1, 5: "en", 9: 1, 11: 1, 13: 1, 14: {2: 5756, 6: 11, 8: "1.111.5", 9: 2, 10: 4}}}199 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)200 201def spmroom(K, V, uid):202 fields = {203 1: 22, # โ
ู
ูุชุงุญ ุฑูู
ู204 2: { # โ
ู
ูุชุงุญ ุฑูู
ู205 1: int(uid) # โ
ู
ูุชุงุญ ุฑูู
ู206 }207 }208 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0E15', K, V)209 210def openroom(K, V):211 fields = {212 1: 2,213 2: {214 1: 1,215 2: 15,216 3: 5,217 4: "[c][FF0000]CKRPRO", # <-- changed line218 5: "1",219 6: 12,220 7: 1,221 8: 1,222 9: 1,223 11: 1,224 12: 2,225 14: 36981056,226 15: {227 1: "IDC3",228 2: 126,229 3: "ME"230 },231 16: "\u0001\u0003\u0004\u0007\t\n\u000b\u0012\u000f\u000e\u0016\u0019\u001a \u001d",232 18: 2368584,233 27: 1,234 34: "\u0000\u0001",235 40: "en",236 48: 1,237 49: {238 1: 21239 },240 50: {241 1: 36981056,242 2: 2368584,243 5: 2244 }245 }246 }247 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0E15', K, V)248 249def cHSq(Nu , Uid , K , V):250 fields = {1: 17, 2: {1: int(Uid), 2: 1, 3: int(Nu - 1), 4: 62, 5: "\u001a", 8: 5, 13: 329}}251 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)252 253def SEnd_InV(Nu , Uid , K , V):254 fields = {1: 2 , 2: {1: int(Uid) , 2: "ME" , 4: int(Nu)}}255 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)256 257def ExiT(id , K , V):258 fields = {259 1: 7,260 2: {261 1: int(11037044965)262 }263 }264 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)265 266def AuthClan(CLan_Uid , AuTh , K , V):267 fields = {1: 3, 2: {1: int(CLan_Uid) , 2: 1, 4: str(AuTh)}}268 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '1201' , K , V) 269 270def GeT_Status(PLayer_Uid , K , V):271 PLayer_Uid = EnC_Uid(PLayer_Uid , Tp = 'Uid')272 if len(PLayer_Uid) == 8: Pk = f'080112080a04{PLayer_Uid}1005'273 elif len(PLayer_Uid) == 10: Pk = f"080112090a05{PLayer_Uid}1005"274 return GeneRaTePk(Pk , '0f15' , K , V)275 276def SPMROOMZIX(Uid, Rm, Nm, K, V):277 fields = {278 1: 2,279 2: {280 1: 1,281 2: 15,282 3: 5,283 4: Nm, # ุงูุงุณู
284 5: Rm, # ุงูุจุงุณูุฑุฏ (ู
ูุชุงุญ)285 6: 12,286 7: 1,287 8: 1,288 9: 1,289 11: 1,290 12: 2,291 14: int(Uid),292 15: {293 1: "IDC3",294 2: 126,295 3: "ME"296 },297 16: "\u0001\u0003\u0004\u0007\t\n\u000b\u0012\u000f\u000e\u0016\u0019\u001a \u001d",298 18: int(Rm),299 27: 1,300 34: "\u0000\u0001",301 40: "en",302 48: 1,303 49: {304 1: 21305 },306 50: {307 1: int(Uid),308 2: int(Rm),309 5: 2310 }311 }312 }313 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0E15', K, V)314 315def SPMR1(Uid, K, V):316 fields = {317 1: 22,318 2: {319 1: int(Uid)320 }321 }322 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0E15', K, V) 323 324def SPam_Room(Uid , Rm , Nm , K , V):325 fields = {1: 78, 2: {1: int(Rm), 2: f"[{ArA_CoLor()}]{Nm}", 3: {2: 1, 3: 1}, 4: 330, 5: 1, 6: 201, 10: xBunnEr(), 11: int(Uid), 12: 1}}326 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0e15' , K , V)327 328def CHangeRoomName(room_id, key, iv):329 fields = {1: 13,2: {1: int(room_id),2: f"{GeneratRandomHexColor()}ZIX OFFICIAL",4: 1,5: 15,6: 8,7: 30,8: 1,9: 1,10: 2,11: 36981056,12: 2368584,13: 1,18: {0: 1},30: 1}}330 packet = create_packet(fields).hex()331 encrypted_packet = aes_encrypt(packet, key, iv)332 hlen = len(encrypted_packet) // 2333 return bytes.fromhex("0E15000000" + dec_to_hex(hlen) + encrypted_packet)334 335def Join_Room(room_id , K , V):336 fields = {1: 3, 2: {1: int(room_id), 8: {1: "IDC1", 2: 3000, 3: "ME"}, 9: "\x01\t\n\x12\x19 ", 10: 1, 12: b"\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01", 13: 3, 14: 3, 16: "ME"}}337 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0e10' , K , V)338 339def SPamSq(Uid , K , V): 340 fields = {1: 33, 2: {1: int(Uid) , 2: 'ME', 3: 1, 4: 1, 7: 330, 8: 19459, 9: 100, 12: 1, 16: 1, 17: {2: 94, 6: 11, 8: '1.111.5', 9: 3, 10: 2}, 18: 201, 23: {2: 1, 3: 1}, 24: xBunnEr() , 26: {}, 28: {}}}341 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)342 343async def Emote_k(TarGeT , idT, K, V,region):344 fields = {345 1: 21,346 2: {347 1: 804266360,348 2: 909000001,349 5: {350 1: TarGeT,351 3: idT,352 }353 }354 }355 if region.lower() == "ind":356 packet = '0514'357 elif region.lower() == "bd":358 packet = "0519"359 else:360 packet = "0515"361 return await GeneRaTePk((await CrEaTe_ProTo(fields)).hex() , packet , K , V)362 363 364def AccEpT(PLayer_Uid , AuTh_CodE_Sq , K , V): 365 fields = {1: 4, 2: {1: int(PLayer_Uid), 3: int(PLayer_Uid), 4: "\u0001\u0007\t\n\u0012\u0019\u001a ", 8: 1, 9: {2: 1393, 4: "wW_T", 6: 11, 8: "1.111.5", 9: 3, 10: 2}, 10: AuTh_CodE_Sq, 12: 1, 13: "en", 16: "OR"}}366 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()) , '0515' , K , V)367 368def GenJoinSquadsPacket(code, key, iv):369 fields = {}370 fields[1] = 4371 fields[2] = {}372 fields[2][4] = bytes.fromhex("01090a0b121920")373 fields[2][5] = str(code)374 fields[2][6] = 6375 fields[2][8] = 1376 fields[2][9] = {}377 fields[2][9][2] = 800378 fields[2][9][6] = 11379 fields[2][9][8] = "1.111.1"380 fields[2][9][9] = 5381 fields[2][9][10] = 1382 print(fields)383 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0515', key, iv)384 #1750287629500765351_vfhkisb7hv 8679231987385 386def Zix(self, player_id, key, iv):387 fields = {388 1: 5,389 2: {390 1: int(player_id),391 2: 1,392 3: int(player_id),393 4: """[b][c][FF0000]โโโโโ โโโโโ ใ """394 }395 }396 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0515', key, iv) 397 398def Zix1(self, player_id, key, iv):399 fields = {400 1: int(player_id),401 2: 5,402 4: 50,403 5: {404 1: int(player_id),405 2: "[00FF00]CKRPRO BOT V1",406 3: 1407 }408 }409 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0515', key, iv)410 411def ghost_pakcet(player_id , nm , secret_code , key ,iv):412 fields = {413 1: 61,414 2: {415 1: int(player_id), 416 2: {417 1: int(player_id), 418 2: 1159, 419 3: f"[b][c][{ArA_CoLor()}]{nm}", 420 5: 22, 421 6: 20,422 7: 1,423 8: {424 2: 1,425 3: 1,426 },427 9: 3,428 },429 3: secret_code,},}430 return GeneRaTePk(str(CrEaTe_ProTo(fields).hex()), '0515', key, iv)431 432def _V(b, i):433 r = s = 0434 while True:435 c = b[i]; i += 1436 r |= (c & 0x7F) << s437 if c < 0x80: break438 s += 7439 return r, i440 441def PrOtO(hx):442 b, i, R = bytes.fromhex(hx), 0, {}443 while i < len(b):444 H, i = _V(b, i)445 F, T = H >> 3, H & 7446 if T == 0:447 R[F], i = _V(b, i)448 elif T == 2:449 L, i = _V(b, i)450 S = b[i:i+L]; i += L451 try: R[F] = S.decode()452 except:453 try: R[F] = PrOtO(S.hex())454 except: R[F] = S455 elif T == 5:456 R[F] = int.from_bytes(b[i:i+4], 'little'); i += 4457 else:458 raise ValueError(f'Unknown wire type: {T}')459 return R460 461def GeT_KEy(obj , target):462 values = []463 def collect(o):464 if isinstance(o, dict):465 for k, v in o.items():466 if k == target:467 values.append(v)468 collect(v)469 elif isinstance(o, list):470 for v in o:471 collect(v)472 collect(obj)473 return values[-1] if values else None474 475 476def GeneRaTePk(Pk , N , K , V):477 PkEnc = EnC_PacKeT(Pk , K , V)478 _ = DecodE_HeX(int(len(PkEnc) // 2))479 if len(_) == 2: HeadEr = N + "000000"480 elif len(_) == 3: HeadEr = N + "00000"481 elif len(_) == 4: HeadEr = N + "0000"482 elif len(_) == 5: HeadEr = N + "000"483 return bytes.fromhex(HeadEr + _ + PkEnc)484 485def GuiLd_AccEss(Tg , Nm , Uid , BLk , OwN , AprV):486 return Tg in Nm and Uid not in BLk and Uid in (OwN | AprV)487 488def ChEck_Commande(id):489 return "<" not in id and ">" not in id and "[" not in id and "]" not in id490 491def L_DaTa():492 load = lambda f: json.load(open(f)) if os.path.exists(f) else {}493 return map(load, ["BesTo_CLan_LiKes.json" , "BesTo_RemaininG_LiKes.json" , "BesTo_RemaininG_Room.json"])494 495def ChEck_Limit_CLan(Uid , STaTus):496 data , max_use , file = (like_data_clan, 10, "BesTo_CLan_LiKes.json") if STaTus == "like" else ''497 t , limit = time.time(), 86400498 u = data.get(str(Uid), {"count": 0, "start_time": t}) 499 if t - u["start_time"] >= limit:500 u = {"count": 0, "start_time": t}501 if u["count"] < max_use:502 u["count"] += 1503 data[str(Uid)] = u504 json.dump(data , open(file, "w"))505 return f"{max_use - u['count']}" , datetime.fromtimestamp(u["start_time"] + limit).strftime("%I:%M %p - %d/%m/%y")506 return False , datetime.fromtimestamp(u["start_time"] + limit).strftime("%I:%M %p - %d/%m/%y")507 508def ChEck_Limit(Uid , STaTus):509 data , max_use , file = (like_data, 10, "BesTo_RemaininG_LiKes.json") if STaTus == "like" else (room_data, 10, "BesTo_RemaininG_Room.json")510 t , limit = time.time(), 86400511 u = data.get(str(Uid), {"count": 0, "start_time": t}) 512 if t - u["start_time"] >= limit:513 u = {"count": 0, "start_time": t}514 if u["count"] < max_use:515 u["count"] += 1516 data[str(Uid)] = u517 json.dump(data , open(file, "w"))518 return f"{max_use - u['count']}" , datetime.fromtimestamp(u["start_time"] + limit).strftime("%I:%M %p - %d/%m/%y")519 return False , datetime.fromtimestamp(u["start_time"] + limit).strftime("%I:%M %p - %d/%m/%y")520 521f = 'blacklist.txt'522approvee = 'approved.txt'523black , approve = [] , []524 525def load_blacklist():526 global black527 try: 528 with open(f, 'r') as file: 529 black = [line.strip() for line in file if line.strip()]530 except: black = []531 532def encrypt_uids():533 global black534 try: 535 if black: black = [EnC_Uid(uid , Tp = 'Uid') for uid in black]536 except: 537 try: open(f, 'w').close()538 except: pass539 load_blacklist()540 541if not black: open(f, 'w').close()542 543def load_approve():544 global approve545 try: 546 with open(approvee, 'r') as file: approve = [line.strip() for line in file if line.strip()]547 except: approve = []548 549def encrypt_uids2():550 global approve551 try: 552 if approve: approve = [EnC_Uid(uid , Tp = 'Uid') for uid in approve]553 except: 554 try: open(approvee, 'w').close()555 except: pass556 load_approve()557 558if not approve: open(approvee, 'w').close()559 560def Add_Uid(user_id):561 with open(f, 'r') as file: lines = file.read().splitlines()562 if str(user_id) not in lines:563 with open(f, 'a') as file: file.write(f"{user_id}\n")564 565def Remove_Uid(f, player_uid):566 try:567 with open(f, 'r+') as file: lines = file.readlines() ; file.seek(0), file.truncate(), file.writelines(l for l in lines if l.strip() != player_uid) ; return True568 except FileNotFoundError: return False569 570def A(user_id):571 with open(approvee, 'r') as file: lines = file.read().splitlines()572 if str(user_id) not in lines:573 with open(approvee, 'a') as file: file.write(f"{user_id}\n")574 575def D(approvee, player_uid):576 try:577 with open(approvee, 'r+') as file: lines = file.readlines() ; file.seek(0), file.truncate(), file.writelines(l for l in lines if l.strip() != player_uid) ; return True578 except FileNotFoundError: return False 579 580def Clear():581 try:582 open(f, 'w').close() ; black.clear() ; return True583 except: return False584 585def Add_Black(user_id):586 Add_Uid(user_id)587 if EnC_Uid(user_id , Tp = 'Uid') not in black: black.append(EnC_Uid(user_id , Tp = 'Uid')) ; return True588 else: return False 589 590def Rem_Black(user_id):591 user_id_encrypted = EnC_Uid(user_id , Tp = 'Uid')592 if user_id_encrypted in black: black.remove(user_id_encrypted) ; Remove_Uid(f , user_id) ; return True593 else: return False 594 595def Show_Uids():596 try:597 with open(f) as file: return "\n".join(sorted(file.read().splitlines(), key=int)) or False598 except (FileNotFoundError, ValueError): return False 599 600def Approved(user_id):601 A(user_id)602 if EnC_Uid(user_id , Tp = 'Uid') not in approve: approve.append(EnC_Uid(user_id , Tp = 'Uid')) ; return True603 else: return False 604 605def DeApproved(user_id):606 user_id_encrypted = EnC_Uid(user_id , Tp = 'Uid')607 if user_id_encrypted in approve: approve.remove(user_id_encrypted) ; D(approvee , user_id) ; return True608 else: return False 609 610def Show_Approvs():611 try: 612 with open(approvee) as file: return "\n".join(sorted(file.read().splitlines(), key=int)) or False613 except (FileNotFoundError, ValueError): return False 614 615def Clear_Approvs():616 try: 617 open(approvee, 'w').close() ; approve.clear() ; return True618 except: return False619 620load_blacklist() ; encrypt_uids() 621load_approve() ; encrypt_uids2() 622like_data_clan , like_data , room_data = L_DaTa()