user-scanner 1.0.1.2__tar.gz → 1.0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/PKG-INFO +1 -1
  2. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/pyproject.toml +1 -1
  3. user_scanner-1.0.1.4/user_scanner/gaming/monkeytype.py +63 -0
  4. user_scanner-1.0.1.4/user_scanner/social/discord.py +44 -0
  5. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/LICENSE +0 -0
  6. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/README.md +0 -0
  7. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/__init__.py +0 -0
  8. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/__main__.py +0 -0
  9. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/community/__init__.py +0 -0
  10. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/community/coderlegion.py +0 -0
  11. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/core/__init__.py +0 -0
  12. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/core/orchestrator.py +0 -0
  13. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/__init__.py +0 -0
  14. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/devto.py +0 -0
  15. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/hashnode.py +0 -0
  16. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/kaggle.py +0 -0
  17. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/medium.py +0 -0
  18. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/creator/patreon.py +0 -0
  19. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/__init__.py +0 -0
  20. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/codeberg.py +0 -0
  21. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/cratesio.py +0 -0
  22. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/dockerhub.py +0 -0
  23. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/github.py +0 -0
  24. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/gitlab.py +0 -0
  25. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/launchpad.py +0 -0
  26. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/npmjs.py +0 -0
  27. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/dev/replit.py +0 -0
  28. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/gaming/__init__.py +0 -0
  29. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/gaming/chess_com.py +0 -0
  30. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/gaming/osu.py +0 -0
  31. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/gaming/roblox.py +0 -0
  32. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/__init__.py +0 -0
  33. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/bluesky.py +0 -0
  34. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/instagram.py +0 -0
  35. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/mastodon.py +0 -0
  36. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/pinterest.py +0 -0
  37. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/reddit.py +0 -0
  38. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/snapchat.py +0 -0
  39. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/telegram.py +0 -0
  40. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/threads.py +0 -0
  41. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/x.py +0 -0
  42. {user_scanner-1.0.1.2 → user_scanner-1.0.1.4}/user_scanner/social/youtube.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: user-scanner
3
- Version: 1.0.1.2
3
+ Version: 1.0.1.4
4
4
  Summary: Check username availability across multiple popular platforms
5
5
  Keywords: username,checker,availability,social,tech,python,user-scanner
6
6
  Author-email: Kaif <kafcodec@gmail.com>
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
4
4
 
5
5
  [project]
6
6
  name = "user-scanner"
7
- version = "1.0.1.2"
7
+ version = "1.0.1.4"
8
8
  description = "Check username availability across multiple popular platforms"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
@@ -0,0 +1,63 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+ import json
4
+
5
+ def validate_monkeytype(user: str) -> int:
6
+
7
+ url = f"https://api.monkeytype.com/users/checkName/{user}"
8
+
9
+ headers = {
10
+ "User-Agent": (
11
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
12
+ "AppleWebKit/537.36 (KHTML, like Gecko) "
13
+ "Chrome/128.0.0.0 Safari/537.36"
14
+ ),
15
+ "Accept": "application/json, text/plain, */*",
16
+ "Accept-Encoding": "gzip, deflate, br",
17
+ "Accept-Language": "en-US,en;q=0.9",
18
+ }
19
+
20
+ try:
21
+ response = httpx.get(url, headers=headers, timeout=3.0)
22
+ status = response.status_code
23
+
24
+ if status == 200:
25
+ data = response.json()
26
+ # Expected shape:
27
+ # { "message": "string", "data": { "available": true/false } }
28
+ payload = data.get("data", {})
29
+ available = payload.get("available")
30
+
31
+ if available is True:
32
+ return 1
33
+ elif available is False:
34
+ return 0
35
+ else:
36
+ return 2
37
+ else:
38
+ return 2
39
+
40
+ except (ConnectError, TimeoutException):
41
+ return 2
42
+ except json.JSONDecodeError:
43
+ return 2
44
+ except Exception:
45
+ return 2
46
+
47
+
48
+ if __name__ == "__main__":
49
+ try:
50
+ import httpx # noqa: F401
51
+ except ImportError:
52
+ print("Error: 'httpx' library is not installed.")
53
+ raise SystemExit(1)
54
+
55
+ user = input("Username?: ").strip()
56
+ result = validate_monkeytype(user)
57
+
58
+ if result == 1:
59
+ print("Available!")
60
+ elif result == 0:
61
+ print("Unavailable!")
62
+ else:
63
+ print("Error occurred!")
@@ -0,0 +1,44 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+
4
+ def validate_discord(user):
5
+ url = "https://discord.com/api/v9/unique-username/username-attempt-unauthed"
6
+
7
+ headers = {
8
+ "authority": "discord.com",
9
+ "accept": "/",
10
+ "accept-language": "en-GB,en-US;q=0.9,en;q=0.8",
11
+ "content-type": "application/json",
12
+ "origin": "https://discord.com",
13
+ "referer": "https://discord.com/register"
14
+ }
15
+
16
+ data = {"username": user}
17
+
18
+ try:
19
+ response = httpx.post(url, headers=headers, json=data, timeout=3.0)
20
+ if response.status_code == 200:
21
+ status = response.json().get("taken")
22
+ if status is True:
23
+ return 0
24
+ elif status is False:
25
+ return 1
26
+ return 2
27
+ except (ConnectError, TimeoutException):
28
+ return 2
29
+ except Exception:
30
+ return 2
31
+
32
+ if __name__ == "__main__":
33
+ user = input ("Username?: ").strip()
34
+ result = validate_discord(user)
35
+
36
+ if result == 1:
37
+ print("Available!")
38
+ elif result == 0:
39
+ print("Unavailable!")
40
+ else:
41
+ print("Error occured!")
42
+
43
+
44
+
File without changes
File without changes