Skip to content

Commit 31a8207

Browse files
committed
first commit
0 parents  commit 31a8207

31 files changed

+101034
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/.DS_Store

checker.py

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
import time
2+
import os
3+
import signal
4+
5+
from utils import webhooks as webhook
6+
from utils import checker
7+
from utils import files
8+
from utils import console
9+
from utils import config
10+
11+
archive_name = ""
12+
checked = 0
13+
available_names = []
14+
unavailable_names = []
15+
16+
def on_exit(signal, frame):
17+
if len(available_names) > 0 or len(unavailable_names) > 0:
18+
date = time.strftime("%Y-%m-%d_%H-%M-%S")
19+
if not os.path.isdir("output"): os.mkdir("output")
20+
if not os.path.isdir(f"output/{date}"): os.mkdir(f"output/{date}")
21+
22+
print()
23+
console.info(f"Finished checking {checked} names")
24+
console.info(f"Saved lists to output/{date}")
25+
26+
if config.get_updates_webhook() != "":
27+
webhook.send_final_update(checked, available_names, unavailable_names)
28+
29+
if config.get_archives_webhook() != "":
30+
archive = files.archive_dir(f"output/{date}")
31+
webhook.send_archive(archive_name, archive, date,available_names, unavailable_names)
32+
os.remove(archive)
33+
34+
else:
35+
print()
36+
console.info("Exiting...")
37+
38+
exit(0)
39+
40+
def main() -> None:
41+
global archive_name, checked, available_names, unavailable_names
42+
43+
console.clear()
44+
console.resize(65, 40)
45+
console.set_title("MC Name Checker")
46+
files.check_files()
47+
console.clear()
48+
console.checker_banner()
49+
50+
if config.get_archives_webhook() != "":
51+
archive_name = console.user_input("Name for archive webhook: ")
52+
53+
fast = console.user_input("Fast mode? Could ratelimit webhooks (y/n): ")
54+
55+
if fast == "y":
56+
console.info("Fast mode enabled. Use a VPN to prevent IP blocking.")
57+
58+
console.user_input("Press enter to start checking...")
59+
60+
console.clear()
61+
console.checker_banner()
62+
63+
names = open("data/names.txt", "r").read().split("\n")
64+
65+
if len(names) == 0:
66+
console.error("No names found")
67+
return
68+
69+
console.info(f"{len(names)} names loaded")
70+
console.info(f"started check, press ctr+c to stop")
71+
print()
72+
73+
for name in names:
74+
if not checker.is_valid(name):
75+
console.error(f"{name} has a cuss word or is invalid. skipping...")
76+
continue
77+
78+
available = checker.is_available(name)
79+
80+
if available:
81+
console.available(name)
82+
available_names.append(name)
83+
if config.get_available_webhook() != "":
84+
webhook.send_available(name)
85+
else:
86+
console.unavailable(name)
87+
unavailable_names.append(name)
88+
89+
console.set_title(f"Available: {len(available_names)} | Unavailable: {len(unavailable_names)} | Checked: {checked}")
90+
checked += 1
91+
92+
if checked % 50 == 0:
93+
if config.get_updates_webhook() != "":
94+
webhook.send_update(checked, available_names, unavailable_names)
95+
96+
if fast.lower() == "y":
97+
time.sleep(0.01)
98+
else:
99+
time.sleep(1)
100+
101+
date = time.strftime("%Y-%m-%d_%H-%M-%S")
102+
if not os.path.isdir("output"): os.mkdir("output")
103+
if not os.path.isdir(f"output/{date}"): os.mkdir(f"output/{date}")
104+
105+
files.save_lists(date, available_names, unavailable_names)
106+
107+
print()
108+
console.info(f"Finished checking {checked} names")
109+
console.info(f"Saved lists to output/{date}")
110+
111+
if config.get_updates_webhook() != "":
112+
webhook.send_final_update(checked, available_names, unavailable_names)
113+
114+
if config.get_archives_webhook() != "":
115+
archive = files.archive_dir(f"output/{date}")
116+
webhook.send_archive(archive_name, archive, date,available_names, unavailable_names)
117+
os.remove(archive)
118+
119+
if __name__ == "__main__":
120+
signal.signal(signal.SIGINT, on_exit)
121+
main()

config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
archives_webhook: ''
2+
available_webhook: ''
3+
updates_webhook: ''

data/names.txt

Whitespace-only changes.

0 commit comments

Comments
 (0)