├── auth.txt ├── README.md └── midas.py /auth.txt: -------------------------------------------------------------------------------- 1 | query_id= 2 | query_id= 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # midas-yielder 2 | Midas Yielder Bot : https://t.me/MidasRWA_bot/app?startapp=ref_f2e1c651-3aa4-4334-a592-68ca83deaf9d 3 | # Features 4 | - Auto Check-In Streak 5 | - Auto Claim Reff 6 | - Auto Play Games 7 | - Multi Account 8 | - Accumulate All User Points 9 | # How to 10 | - copy paste query_id in auth.txt 11 | - git clone https://github.com/gilanx04/midas-yielder.git 12 | - cd midas-yielder 13 | - pip install cloudscraper 14 | - pip install colorama 15 | - pip install requests 16 | - python3 midas.py 17 | -------------------------------------------------------------------------------- /midas.py: -------------------------------------------------------------------------------- 1 | import cloudscraper 2 | import time 3 | 4 | CYAN = '\033[96m' 5 | GREEN = '\033[92m' 6 | RED = '\033[91m' 7 | YELLOW = '\033[93m' 8 | RESET = '\033[0m' 9 | 10 | def post_request(url, headers, payload=None): 11 | scraper = cloudscraper.create_scraper() 12 | response = scraper.post(url, json=payload, headers=headers) 13 | 14 | if response.status_code == 200 or response.status_code == 201: 15 | try: 16 | return response.json(), response.cookies 17 | except ValueError: 18 | return response.text, response.cookies 19 | else: 20 | print(f"akwowkw Request gagal dengan status code: {response.status_code}") 21 | print(f"Response text: {response.text}") 22 | return None, None 23 | 24 | def get_request(url, headers): 25 | scraper = cloudscraper.create_scraper() 26 | response = scraper.get(url, headers=headers) 27 | 28 | if response.status_code == 200: 29 | try: 30 | return response.json() 31 | except ValueError: 32 | print("Response bukan JSON.") 33 | return None 34 | else: 35 | print(f"akwowkw Request gagal mendapatkan informasi dengan status code: {response.status_code}") 36 | print(f"Response text: {response.text}") 37 | return None 38 | 39 | def read_init_data(filename): 40 | try: 41 | with open(filename, 'r') as file: 42 | init_data_list = [line.strip() for line in file if line.strip()] 43 | return init_data_list 44 | except FileNotFoundError: 45 | print(f"File {filename} tidak ditemukan.") 46 | return [] 47 | 48 | def get_streak_info(headers): 49 | url_streak = "https://api-tg-app.midas.app/api/streak" 50 | streak_data = get_request(url_streak, headers) 51 | 52 | if streak_data: 53 | streak_days_count = streak_data.get("streakDaysCount", "Tidak ditemukan") 54 | next_rewards = streak_data.get("nextRewards", {}) 55 | points = next_rewards.get("points", "Tidak ditemukan") 56 | tickets = next_rewards.get("tickets", "Tidak ditemukan") 57 | claimable = streak_data.get("claimable", False) 58 | 59 | print(f"Streak Days Count: {streak_days_count}") 60 | print(f"Hadiah yang bisa di klaim - Points: {GREEN}{points}{RESET}, Tickets: {GREEN}{tickets}{RESET}") 61 | 62 | if claimable: 63 | print(f"{GREEN}Streak tersedia untuk diklaim.{RESET}") 64 | claim_streak(headers) 65 | else: 66 | print(f"{YELLOW}Streak tidak tersedia untuk diklaim.{RESET}") 67 | else: 68 | print("Error: Tidak dapat mengakses API streak.") 69 | 70 | def claim_streak(headers): 71 | url_claim = "https://api-tg-app.midas.app/api/streak" 72 | response, _ = post_request(url_claim, headers) 73 | 74 | if response: 75 | points = response.get("points", "Tidak ditemukan") 76 | tickets = response.get("tickets", "Tidak ditemukan") 77 | print(f"{GREEN}Klaim tiket dan poin harian berhasil!{RESET}") 78 | else: 79 | print(f"{RED}Error: Gagal melakukan klaim harian.{RESET}") 80 | return 0, 0 81 | 82 | def get_user_info(headers): 83 | url_user = "https://api-tg-app.midas.app/api/user" 84 | user_data = get_request(url_user, headers) 85 | 86 | if user_data: 87 | telegram_id = user_data.get("telegramId", "Tidak ditemukan") 88 | username = user_data.get("username", "Tidak ditemukan") 89 | first_name = user_data.get("firstName", "Tidak ditemukan") 90 | points = user_data.get("points", "Tidak ditemukan") 91 | tickets = user_data.get("tickets", 0) 92 | games_played = user_data.get("gamesPlayed", "Tidak ditemukan") 93 | streak_days_count = user_data.get("streakDaysCount", "Tidak ditemukan") 94 | 95 | print(f"Telegram ID: {telegram_id}") 96 | print(f"Username: {CYAN}{username}{RESET}") 97 | print(f"First Name: {CYAN}{first_name}{RESET}") 98 | print(f"Points: {GREEN}{points}{RESET}") 99 | if tickets == 0: 100 | print(f"Tickets: {RED}{tickets}{RESET}") 101 | else: 102 | print(f"Tickets: {GREEN}{tickets}{RESET}") 103 | print(f"Games Played: {games_played}") 104 | print(f"Streak Days Count: {streak_days_count}") 105 | 106 | return tickets, points 107 | else: 108 | print("Error: Tidak dapat mengakses API user.") 109 | return 0, 0 110 | 111 | def check_referral_status(headers): 112 | url_referral = "https://api-tg-app.midas.app/api/referral/status" 113 | url_referral_claim = "https://api-tg-app.midas.app/api/referral/claim" 114 | 115 | referral_data = get_request(url_referral, headers) 116 | 117 | if referral_data: 118 | can_claim = referral_data.get("canClaim", False) 119 | if can_claim: 120 | print(f"{GREEN}Klaim refferal tersedia! Mengeksekusi klaim...{RESET}") 121 | claim_response, _ = post_request(url_referral_claim, headers) 122 | 123 | if claim_response: 124 | total_points = claim_response.get("totalPoints", 0) 125 | total_tickets = claim_response.get("totalTickets", 0) 126 | print(f"{GREEN}Klaim refferal berhasil!{RESET} Anda mendapatkan {GREEN}{total_points}{RESET} poin dan {GREEN}{total_tickets}{RESET} tiket.") 127 | return total_points, total_tickets 128 | else: 129 | print(f"{RED}Error saat mengeksekusi klaim refferal.{RESET}") 130 | return 0, 0 131 | else: 132 | print(f"{YELLOW}Tidak ada klaim refferal yang tersedia saat ini.{RESET}") 133 | return 0, 0 134 | else: 135 | print(f"{RED}Request error.{RESET} {YELLOW}Mencoba kembali...{RESET}") 136 | return 0, 0 137 | 138 | def play_game(headers, tickets): 139 | url_game = "https://api-tg-app.midas.app/api/game/play" 140 | total_points = 0 141 | 142 | while tickets > 0: 143 | for i in range(3, 0, -1): 144 | print(f"Memulai game dalam {YELLOW}{i}{RESET} detik...", end='\r') 145 | time.sleep(1) 146 | 147 | print(f"\n{YELLOW}Memulai game ...{RESET}") 148 | game_data, _ = post_request(url_game, headers) 149 | 150 | if game_data: 151 | points_earned = game_data.get("points", 0) 152 | total_points += points_earned 153 | tickets -= 1 154 | print(f"Mendapatkan {GREEN}{points_earned} poin{RESET}, Total Points: {GREEN}{total_points}{RESET}, Sisa Tiket: {YELLOW}{tickets}{YELLOW}") 155 | else: 156 | print(f"{RED}Error saat bermain game.{RESET}") 157 | break 158 | 159 | return total_points 160 | 161 | def process_init_data(init_data): 162 | print(f"\nMemproses initData: {YELLOW}...{init_data[-20:]}{RESET}") 163 | 164 | url_register = "https://api-tg-app.midas.app/api/auth/register" 165 | headers_register = { 166 | "Accept": "application/json, text/plain, */*", 167 | "Origin": "https://prod-tg-app.midas.app", 168 | "Referer": "https://prod-tg-app.midas.app/", 169 | "Sec-Ch-Ua": '"Not_A Brand";v="8", "Chromium";v="120"', 170 | "Sec-Ch-Ua-Mobile": "?1", 171 | "Sec-Ch-Ua-Platform": '"Android"', 172 | "Sec-Fetch-Dest": "empty", 173 | "Sec-Fetch-Mode": "cors", 174 | "Sec-Fetch-Site": "same-site", 175 | "User-Agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36" 176 | } 177 | 178 | payload = { 179 | "initData": init_data 180 | } 181 | 182 | response_text, cookies = post_request(url_register, headers_register, payload) 183 | 184 | if response_text: 185 | print(f"Token yang didapat: {YELLOW}...{response_text[-20:]}{RESET}") 186 | cookies_dict = cookies.get_dict() 187 | cookies_preview = {key: f"...{value[-20:]}" for key, value in cookies_dict.items()} 188 | print(f"Cookies yang diterima: {YELLOW}{cookies_preview}{RESET}") 189 | 190 | token = response_text 191 | 192 | headers_user = { 193 | "Accept": "application/json, text/plain, */*", 194 | "Origin": "https://prod-tg-app.midas.app", 195 | "Referer": "https://prod-tg-app.midas.app/", 196 | "Sec-Ch-Ua": '"Not_A Brand";v="8", "Chromium";v="120"', 197 | "Sec-Ch-Ua-Mobile": "?1", 198 | "Sec-Ch-Ua-Platform": '"Android"', 199 | "Sec-Fetch-Dest": "empty", 200 | "Sec-Fetch-Mode": "cors", 201 | "Sec-Fetch-Site": "same-site", 202 | "User-Agent": "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36", 203 | "Authorization": f"Bearer {token}", 204 | "Cookie": "; ".join([f"{key}={value}" for key, value in cookies.get_dict().items()]) 205 | } 206 | 207 | get_streak_info(headers_user) 208 | 209 | check_referral_status(headers_user) 210 | 211 | tickets, points = get_user_info(headers_user) 212 | 213 | if tickets > 0: 214 | total_points = play_game(headers_user, tickets) 215 | print(f"Total Points setelah bermain game: {GREEN}{total_points}{RESET}") 216 | else: 217 | print(f"{YELLOW}Tidak ada tiket yang tersedia untuk bermain game.{RESET}") 218 | else: 219 | print("Error: Tidak dapat mendapatkan token.") 220 | 221 | def main(): 222 | init_data_list = read_init_data('auth.txt') 223 | 224 | while True: 225 | for init_data in init_data_list: 226 | process_init_data(init_data) 227 | print("Countdown 10 detik sebelum memproses akun berikutnya...") 228 | for i in range(10, 0, -1): 229 | print(f"{i} detik...", end="\r") 230 | time.sleep(1) 231 | 232 | print("Selesai memproses semua initData. Memulai ulang dalam 8 jam...") 233 | for i in range(8 * 3600, 0, -1): 234 | hours, remainder = divmod(i, 3600) 235 | minutes, seconds = divmod(remainder, 60) 236 | print(f"{hours:02}:{minutes:02}:{seconds:02}", end="\r") 237 | time.sleep(1) 238 | 239 | if __name__ == "__main__": 240 | main() 241 | 242 | --------------------------------------------------------------------------------