# Unlock Unlimited $MOZ Tokens with This Lumoz Bot – Tap, Earn, Repeat! 💸 **Published by:** [Degen Dojo](https://paragraph.com/@degendojo/) **Published on:** 2024-09-13 **Categories:** bot, airdrop, tap-tap **URL:** https://paragraph.com/@degendojo/bot-lumoz-telegram-app ## Content What is Lumoz? Lumoz is designed for Web3 developers who want to seamlessly create zkEVM chains, using both PoS and PoW mechanisms. It is an innovative platform that combines ease of use with powerful computational solutions via ZK-Rollups. But besides its technical potential, Lumoz has also introduced a gamified experience through its Telegram app that rewards users with $MOZ tokens. How to Play and Earn Points In the Lumoz Telegram app, you can easily earn points by simply tapping the Golden Snitch on your screen. Here’s a step-by-step guide on how it works: Tap the Golden Snitch whenever it appears on the screen. Convert the Golden Snitch into points. 🔄 These points will later be transformed into $MOZ tokens. To exchange points for $MOZ, you’ll need diamonds. You can earn 1 diamond for every friend you invite to the game. Collect as many points as possible to maximize your rewards! 🤖 Automate Your Gameplay with a Lumoz Bot Want to earn points faster without having to manually tap? You can set up a bot on a VPS to handle the tapping for you! Here’s how to get started: Steps to Set Up the Bot: Get a VPS (any specifications will do, as long as it has internet access). Create a folder for the bot by running: mkdir lumoz cd lumoz Create a new file for the bot script: nano lumoz.sh Paste the following bash script into the file: #!/bin/bash # Configure URLs url_collect="https://quidditch-api.lumoz.org/api/quidditch/collect" url_collect_info="https://quidditch-api.lumoz.org/api/quidditch/collect_info" url_user_info="https://quidditch-api.lumoz.org/api/quidditch/user_info" url_spin="https://quidditch-api.lumoz.org/api/quidditch/play_spin" # Authorization Headers array for multiple users auths=( "ACCESS_TOKEN" ) # Function to check if the response is valid JSON is_valid_json() { echo "$1" | jq . >/dev/null 2>&1 return $? } # Function to check collect_info check_collect_info() { local auth=$1 # Authorization header from the parameter local username=$2 # Username from the parameter while true; do echo "Fetching collect_info for user $username..." response=$(curl -s -w "\n%{http_code}" -H "Authorization: $auth" "$url_collect_info") # Separate the body and status code response_body=$(echo "$response" | head -n -1) status_code=$(echo "$response" | tail -n 1) # Check if the response body is valid JSON if is_valid_json "$response_body"; then if [ "$status_code" -eq 200 ]; then echo "Collect Info Response Body: $response_body" available_snitch=$(echo "$response_body" | jq -r '.available_snitch') snitch_unit=$(echo "$response_body" | jq -r '.snitch_unit') usdt=$(echo "$response_body" | jq -r '.usdt') # Calculate quantity for snitch based on available_snitch / snitch_unit if [ "$available_snitch" -gt 0 ] && [ "$snitch_unit" -gt 0 ]; then qty=$((available_snitch / snitch_unit)) collect_snitch "$auth" "$qty" "$username" fi # If usdt > 0, collect usdt if (( $(echo "$usdt > 0" | bc -l) )); then # Convert usdt to integer (0.01 becomes 10000) collect_amount_usdt=$(printf "%.0f" $(echo "$usdt * 1000000" | bc)) collect_usdt "$auth" "$collect_amount_usdt" "$username" fi sleep 5 else echo "Failed to fetch collect_info for user $username, status code $status_code. Retrying in 2 seconds..." sleep 2 fi else echo "Failed to get valid JSON from collect_info for user $username. Retrying in 2 seconds..." sleep 2 fi done } # Function to collect snitch collect_snitch() { local auth=$1 # Authorization header from the parameter local qty=$2 # Quantity for snitch local username=$3 # Username from the parameter collect_amount=$((120 * qty + 120)) while true; do echo "Sending collect with qty: $qty and collect_amount: $collect_amount for user $username" response=$(curl -s -w "\n%{http_code}" -H "Authorization: $auth" "$url_collect?collect_item=snitch&collect_amount=$collect_amount") response_body=$(echo "$response" | head -n -1) status_code=$(echo "$response" | tail -n 1) # Check if response body is valid JSON if is_valid_json "$response_body"; then if [ "$status_code" -eq 200 ]; then snitch_duration=$(echo "$response_body" | jq -r '.snitch_duration') if [ "$snitch_duration" != "null" ] && [ -n "$snitch_duration" ]; then echo "Collect snitch successful for user $username! Waiting 30 seconds before continuing." get_user_info "$auth" "$username" sleep 30 break # Exit loop after success else echo "Invalid snitch duration, using default delay of 2 seconds." sleep 2 continue # Retry collect_snitch process fi else echo "Collect snitch failed for user $username, status code $status_code. Retrying in 2 seconds..." sleep 2 fi else echo "Failed to get valid JSON from collect snitch for user $username. Retrying in 2 seconds..." sleep 2 fi done } # Function to collect usdt collect_usdt() { local auth=$1 # Authorization header from the parameter local amount=$2 # Amount for usdt local username=$3 # Username from the parameter while true; do echo "Sending collect usdt with collect_amount: $amount for user $username" response=$(curl -s -w "\n%{http_code}" -H "Authorization: $auth" "$url_collect?collect_item=usdt&collect_amount=$amount") response_body=$(echo "$response" | head -n -1) status_code=$(echo "$response" | tail -n 1) # Check if response body is valid JSON if is_valid_json "$response_body"; then if [ "$status_code" -eq 200 ]; then echo "Collect usdt successful for user $username!" break else echo "Collect usdt failed for user $username, status code $status_code. Retrying in 2 seconds..." sleep 2 fi else echo "Failed to get valid JSON from collect usdt for user $username. Retrying in 2 seconds..." sleep 2 fi done } # Function to get user_info get_user_info() { local auth=$1 # Authorization header from the parameter local username=$2 # Username from the parameter while true; do echo "Fetching user info for user $username..." response=$(curl -s -w "\n%{http_code}" -H "Authorization: $auth" "$url_user_info") response_body=$(echo "$response" | head -n -1) status_code=$(echo "$response" | tail -n 1) # Check if response body is valid JSON if is_valid_json "$response_body"; then if [ "$status_code" -eq 200 ]; then points=$(echo "$response_body" | jq -r '.snitch') echo "User $username points: $points" if [ "$points" -gt 3200000 ]; then echo "Points above 3.2M, spinning for user $username..." play_spin "$auth" "$username" else echo "Points below 3.2M, no spin for user $username." fi break else echo "Failed to fetch user info for user $username, status code $status_code. Retrying in 2 seconds..." sleep 2 fi else echo "Failed to get valid JSON from user info for user $username. Retrying in 2 seconds..." sleep 2 fi done } # Function to perform spin play_spin() { local auth=$1 # Authorization header from the parameter local username=$2 # Username from the parameter while true; do echo "Spinning for user $username..." response=$(curl -s -w "\n%{http_code}" -H "Authorization: $auth" "$url_spin?spin_type=snitch&start_angle=0") response_body=$(echo "$response" | head -n -1) status_code=$(echo "$response" | tail -n 1) # Check if response body is valid JSON if is_valid_json "$response_body"; then if [ "$status_code" -eq 200 ]; then reward_item=$(echo "$response_body" | jq -r '.reward_item') reward_amount=$(echo "$response_body" | jq -r '.reward_amount') describe=$(echo "$response_body" | jq -r '.describe') echo "Spin successful for user $username!" echo "Reward: $reward_item with amount $reward_amount" echo "Description: $describe" break else echo "Spin failed for user $username, status code $status_code. Retrying in 2 seconds..." sleep 2 fi else echo "Failed to get valid JSON from spin for user $username. Retrying in 2 seconds..." sleep 2 fi done } # Main loop for each user for auth in "${auths[@]}"; do # Fetch username for each user response=$(curl -s -H "Authorization: $auth" "$url_user_info") if is_valid_json "$response"; then username=$(echo "$response" | jq -r '.username') if [ "$username" != "null" ] && [ -n "$username" ]; then check_collect_info "$auth" "$username" & else echo "Failed to get username for auth $auth" fi else echo "Failed to get valid JSON from user info for auth $auth" fi done # Wait for all processes to complete wait Save the script by pressing CTRL + X, then press Y to confirm the save. Edit the access token part of the script with your own token: auths=( "ACCESS_TOKEN" ) Make file Executable by run this command chmod +x ./lumoz.sh Run this bot ./lumoz.sh How to Get Your Access Token Open Telegram Web. Open the Lumoz bot in Telegram. Right-click and select “Inspect Element.” Go to the “Application” tab and open Local Storage. Copy the value from user-tg-data—this is your access token! (e.g., dXNxxxxxxxxxx). Paste the token into the ACCESS_TOKEN part of your lumoz.sh file. Features of the Bot Auto Tap-Tap: The bot will automatically tap the Golden Snitch, ensuring you never miss a chance to collect points. Faster Points: You’ll earn points much faster because the bot never gets tired! Auto Spin: When the Golden Snitch count exceeds 3.2 million, the bot will automatically spin for maximum rewards. This bot makes it easy to collect points and earn $MOZ tokens without constantly checking your screen. Set it up once, and let it do the work for you! Make Sure Your Bot Is Running Well! Once you've set up everything, you want to make sure your bot is running smoothly. Here’s what the log should look like when everything is functioning properly: If you see the above log, your bot is successfully collecting points and spinning automatically! Subscribe to stay updated on more bots and tips for optimizing your crypto rewards. ## Publication Information - [Degen Dojo](https://paragraph.com/@degendojo/): Publication homepage - [All Posts](https://paragraph.com/@degendojo/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@degendojo): Subscribe to updates ## Optional - [Collect as NFT](https://paragraph.com/@degendojo/bot-lumoz-telegram-app): Support the author by collecting this post - [View Collectors](https://paragraph.com/@degendojo/bot-lumoz-telegram-app/collectors): See who has collected this post