Follow @Otr.lu on Instagram and check the latest post for today's 4-digit code. Enter the code to enable one play per device. Technicians can grant extra plays via the + button.
Enter today's play code
Follow @Otr.lu and check the latest post to get the code (4 digits). One play per device.
1
2
3
4
5
6
7
8
9
Clear
0
Del
Technician: extra-play code
Enter a 5‑digit extra-play code. One code = one extra play for the device.
1
2
3
4
5
6
7
8
9
Clear
0
Del
Show this screen to technician to redeem prize
Technician PIN
1
2
3
4
5
6
7
8
9
Clear
0
Del
Technician Console
Live admin controls
Set today's 4-digit play code, edit probabilities live, manage extra-play codes, disable spins for everyone, and view/clear/export plays.
Probabilities (logical — edit live)
Extra-play codes (unused)
List of unused 5-digit codes. Applying a code consumes it.
Plays (live)
Time
Prize
Code
'''
# Insert the fixed 100 codes generated previously
import random, json
random.seed(42)
codes = sorted({f"{random.randint(10000,99999)}" for _ in range(300)})[:100] # ensure unique then take 100
codes_json = ", ".join([f'"{c}"' for c in codes])
html = html.replace("%CODES%", codes_json)
# Save file
path = "/mnt/data/otr_spinner_final_requested.html"
with open(path, "w", encoding="utf-8") as f:
f.write(html)
path