├── akun.txt ├── README.md └── main.py /akun.txt: -------------------------------------------------------------------------------- 1 | user= -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Auto Claim UEX ( DWYOR )

2 | 3 | 4 | 5 | 6 | 7 |

Tutorial How To Use This Bot

8 | 9 | 1. Register https://t.me/UEEx_Miner_bot/UEB_Miner_Bot?startapp=kBNoWEHfEAAwNHvaTA9 10 | 2. git clone https://github.com/monteksz/uex 11 | 3. cd uex 12 | 4. Masukan TgWebAppData di akun.txt 13 | 5. DONE 14 | 6. Ingat DWYOR. 15 | 16 | - **Here To get Daata** 17 | 18 | 19 |

Support ^^

20 |

You can support me using trakter or qris

21 | 22 | Trakter Cendol 23 | 24 | 25 | 26 | 27 | 28 |

Languages

29 |

python

30 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from colorama import Fore, Style, init 3 | import json 4 | import time 5 | import threading 6 | 7 | init(autoreset=True) 8 | 9 | def nama(): 10 | art_lines = [ 11 | " _____ _ _ _____ _______ _ _ _______ __", 12 | " / ____| /\\ | \\ | |/ ____|__ __| | | | /\\ | __ \\ \\ / /", 13 | " | (___ / \\ | \\| | | | | | | | | / \\ | |__) \\ \\_/ / ", 14 | " \\___ \\ / /\\ \\ | . ` | | | | | | | |/ /\\ \\ | _ / \\ / ", 15 | " ____) / ____ \\| |\\ | |____ | | | |__| / ____ \\| | \\ \\ | | ", 16 | " |_____/_/ \\_\\_| \\_|\\_____| |_| \\____/_/ \\_\\_| \\_\\ |_| ", 17 | " ", 18 | " " 19 | ] 20 | 21 | max_length = max(len(line) for line in art_lines) 22 | 23 | border = '#' * (max_length + 4) 24 | 25 | print(border) 26 | for line in art_lines: 27 | print(f"# {line} #") 28 | print(border) 29 | 30 | print(f"{Fore.GREEN}Terima kasih Telah Menggunakan Bot dari Monteksz X Sanctuary Jangan Lupa Bintangnya ^^{Fore.RESET}") 31 | print(f"{Fore.GREEN}Cek Bot Lainnya di https://github.com/monteksz{Fore.RESET}") 32 | print(f"{Fore.GREEN}=================================================================================================={Fore.RESET}") 33 | 34 | nama() 35 | 36 | def login(init_data, account_number): 37 | payload_login = { 38 | 'init_data': init_data, 39 | 'referrer': '' 40 | } 41 | 42 | url_login = 'https://zejlgz.com/api/login/tg' 43 | response_login = requests.post(url_login, json=payload_login) 44 | 45 | if response_login.status_code == 200: 46 | data_login = response_login.json() 47 | if data_login['code'] == 0 and 'token' in data_login['data'] and 'token' in data_login['data']['token']: 48 | token = data_login['data']['token']['token'] 49 | print(Fore.GREEN + f'[Akun Ke-{account_number}] Token Berhasil di Dapatkan: ' + token + Style.RESET_ALL) 50 | return token 51 | else: 52 | print(Fore.RED + f'[Akun Ke-{account_number}] Login Gagal: Token tidak ditemukan.' + Style.RESET_ALL) 53 | else: 54 | print(Fore.RED + f'[Akun Ke-{account_number}] Permintaan Gagal dengan Status Kode: {response_login.status_code}' + Style.RESET_ALL) 55 | return None 56 | 57 | def check_assets(token, account_number): 58 | payload_assets = { 59 | 'token': token 60 | } 61 | headers = { 62 | 'Authorization': f'Bearer {token}', 63 | 'Accept': 'application/json, text/plain, */*', 64 | 'Accept-Encoding': 'gzip, deflate, br, zstd', 65 | 'Accept-Language': 'en-US,en;q=0.9', 66 | 'Cache-Control': 'no-cache', 67 | 'Content-Type': 'application/json', 68 | 'Origin': 'https://ueex-mining-be9.pages.dev', 69 | 'Pragma': 'no-cache', 70 | 'Referer': 'https://ueex-mining-be9.pages.dev/', 71 | 'Sec-Ch-Ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', 72 | 'Sec-Ch-Ua-Mobile': '?0', 73 | 'Sec-Ch-Ua-Platform': '"Windows"', 74 | 'Sec-Fetch-Dest': 'empty', 75 | 'Sec-Fetch-Mode': 'cors', 76 | 'Sec-Fetch-Site': 'cross-site', 77 | 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, seperti Gecko) Chrome/126.0.0.0 Safari/537.36' 78 | } 79 | url_assets = 'https://zejlgz.com/api/user/assets' 80 | 81 | response_assets = requests.post(url_assets, json=payload_assets, headers=headers) 82 | 83 | if response_assets.status_code == 200: 84 | data_assets = response_assets.json() 85 | if data_assets['code'] == 0: 86 | ue_amount = data_assets['data'].get('ue', {}).get('amount', 0) 87 | usdt_amount = data_assets['data'].get('usdt', {}).get('amount', 0) 88 | diamond_amount = data_assets['data'].get('diamond', {}).get('amount', 0) 89 | 90 | return ue_amount, usdt_amount, diamond_amount 91 | else: 92 | print(Fore.RED + f'[Akun Ke-{account_number}] Gagal mendapatkan data aset: ' + data_assets.get('message', 'Tidak diketahui') + Style.RESET_ALL) 93 | else: 94 | print(Fore.RED + f'[Akun Ke-{account_number}] Permintaan Gagal dengan Status Kode: {response_assets.status_code}' + Style.RESET_ALL) 95 | return None, None, None 96 | 97 | def check_drops(token, account_number): 98 | payload_scene_info = { 99 | 'token': token 100 | } 101 | headers = { 102 | 'Authorization': f'Bearer {token}', 103 | 'Accept': 'application/json, text/plain, */*', 104 | 'Content-Type': 'application/json' 105 | } 106 | url_scene_info = 'https://zejlgz.com/api/scene/info' 107 | 108 | response_scene_info = requests.post(url_scene_info, json=payload_scene_info, headers=headers) 109 | 110 | if response_scene_info.status_code == 200: 111 | data_scene_info = response_scene_info.json() 112 | if data_scene_info['code'] == 0: 113 | reward_claimed = False 114 | for scene in data_scene_info['data']: 115 | if scene['eggs'] is not None: 116 | for egg in scene['eggs']: 117 | if egg['flag'] == 0: 118 | claim_drop(token, egg, account_number) 119 | reward_claimed = True 120 | if not reward_claimed: 121 | print(Fore.CYAN + f'[Akun Ke-{account_number}] Waiting For Reward...' + Style.RESET_ALL) 122 | else: 123 | print(Fore.RED + f'[Akun Ke-{account_number}] Gagal mendapatkan data scene info: ' + data_scene_info.get('message', 'Tidak diketahui') + Style.RESET_ALL) 124 | else: 125 | print(Fore.RED + f'[Akun Ke-{account_number}] Permintaan Gagal dengan Status Kode: {response_scene_info.status_code}' + Style.RESET_ALL) 126 | 127 | def claim_drop(token, egg, account_number): 128 | payload_egg_reward = { 129 | 'token': token, 130 | 'egg_uid': egg['uid'] 131 | } 132 | headers = { 133 | 'Authorization': f'Bearer {token}', 134 | 'Accept': 'application/json, text/plain, */*', 135 | 'Content-Type': 'application/json' 136 | } 137 | url_egg_reward = 'https://zejlgz.com/api/scene/egg/reward' 138 | 139 | response_egg_reward = requests.post(url_egg_reward, json=payload_egg_reward, headers=headers) 140 | 141 | if response_egg_reward.status_code == 200: 142 | data_egg_reward = response_egg_reward.json() 143 | if data_egg_reward['code'] == 0: 144 | if egg['a_type'] == 'ue': 145 | print(Fore.YELLOW + f'[Akun Ke-{account_number}] UE Reward Berhasil Diklaim ({egg["amount"]})', end='') 146 | elif egg['a_type'] == 'usdt': 147 | print(Fore.GREEN + f'[Akun Ke-{account_number}] USDT Reward Berhasil Diklaim ({egg["amount"]})', end='') 148 | 149 | ue_amount, usdt_amount, diamond_amount = check_assets(token, account_number) # Dapatkan saldo terbaru setelah klaim 150 | print(Fore.MAGENTA + f' | Saldo Terbaru' + Style.RESET_ALL + 151 | Fore.YELLOW + f' UE: {ue_amount}' + Style.RESET_ALL + ' | ' + 152 | Fore.GREEN + f'USDT: {usdt_amount}' + Style.RESET_ALL + ' | ' + 153 | Fore.BLUE + f'Diamond: {diamond_amount}' + Style.RESET_ALL) 154 | else: 155 | print(Fore.RED + f'[Akun Ke-{account_number}] Gagal mengklaim egg reward: ' + data_egg_reward.get('message', 'Tidak diketahui') + Style.RESET_ALL) 156 | print("Response data:", data_egg_reward) 157 | else: 158 | print(Fore.RED + f'[Akun Ke-{account_number}] Permintaan Gagal dengan Status Kode: {response_egg_reward.status_code}' + Style.RESET_ALL) 159 | print("Response text:", response_egg_reward.text) 160 | 161 | def process_account(init_data, account_number): 162 | token = login(init_data, account_number) 163 | if token: 164 | check_assets(token, account_number) 165 | 166 | if token: 167 | start_time = time.time() 168 | waiting_for_reward_displayed = False 169 | while True: 170 | current_time = time.time() 171 | if current_time - start_time >= 480: # 8 menit = 480 detik 172 | token = login(init_data, account_number) 173 | if token: 174 | check_assets(token, account_number) 175 | start_time = current_time 176 | 177 | reward_claimed = False 178 | payload_scene_info = { 179 | 'token': token 180 | } 181 | headers = { 182 | 'Authorization': f'Bearer {token}', 183 | 'Accept': 'application/json, text/plain, */*', 184 | 'Content-Type': 'application/json' 185 | } 186 | url_scene_info = 'https://zejlgz.com/api/scene/info' 187 | 188 | response_scene_info = requests.post(url_scene_info, json=payload_scene_info, headers=headers) 189 | 190 | if response_scene_info.status_code == 200: 191 | data_scene_info = response_scene_info.json() 192 | if data_scene_info['code'] == 0: 193 | for scene in data_scene_info['data']: 194 | if scene['eggs'] is not None: 195 | for egg in scene['eggs']: 196 | if egg['flag'] == 0: 197 | claim_drop(token, egg, account_number) 198 | reward_claimed = True 199 | waiting_for_reward_displayed = False # Reset flag 200 | else: 201 | print(Fore.RED + f'[Akun Ke-{account_number}] Gagal mendapatkan data scene info: ' + data_scene_info.get('message', 'Tidak diketahui') + Style.RESET_ALL) 202 | else: 203 | print(Fore.RED + f'[Akun Ke-{account_number}] Permintaan Gagal dengan Status Kode: {response_scene_info.status_code}' + Style.RESET_ALL) 204 | 205 | if not reward_claimed and not waiting_for_reward_displayed: 206 | print(Fore.CYAN + f'[Akun Ke-{account_number}] Waiting For Reward...' + Style.RESET_ALL) 207 | waiting_for_reward_displayed = True 208 | 209 | if __name__ == "__main__": 210 | with open('akun.txt', 'r') as file: 211 | accounts = file.readlines() 212 | 213 | threads = [] 214 | for index, account in enumerate(accounts): 215 | account = account.strip() 216 | if account: 217 | thread = threading.Thread(target=process_account, args=(account, index + 1)) 218 | threads.append(thread) 219 | thread.start() 220 | 221 | for thread in threads: 222 | thread.join() 223 | --------------------------------------------------------------------------------