user-scanner 1.0.0.9__tar.gz → 1.0.1.1__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 (39) hide show
  1. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/PKG-INFO +1 -1
  2. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/pyproject.toml +1 -1
  3. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/__main__.py +1 -1
  4. user_scanner-1.0.1.1/user_scanner/gaming/osu.py +44 -0
  5. user_scanner-1.0.1.1/user_scanner/social/telegram.py +34 -0
  6. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/LICENSE +0 -0
  7. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/README.md +0 -0
  8. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/__init__.py +0 -0
  9. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/community/__init__.py +0 -0
  10. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/community/coderlegion.py +0 -0
  11. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/core/__init__.py +0 -0
  12. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/core/orchestrator.py +0 -0
  13. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/__init__.py +0 -0
  14. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/devto.py +0 -0
  15. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/hashnode.py +0 -0
  16. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/kaggle.py +0 -0
  17. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/medium.py +0 -0
  18. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/creator/patreon.py +0 -0
  19. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/__init__.py +0 -0
  20. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/codeberg.py +0 -0
  21. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/cratesio.py +0 -0
  22. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/dockerhub.py +0 -0
  23. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/github.py +0 -0
  24. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/gitlab.py +0 -0
  25. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/launchpad.py +0 -0
  26. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/npmjs.py +0 -0
  27. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/dev/replit.py +0 -0
  28. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/gaming/__init__.py +0 -0
  29. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/gaming/chess_com.py +0 -0
  30. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/__init__.py +0 -0
  31. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/bluesky.py +0 -0
  32. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/instagram.py +0 -0
  33. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/mastodon.py +0 -0
  34. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/pinterest.py +0 -0
  35. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/reddit.py +0 -0
  36. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/snapchat.py +0 -0
  37. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/threads.py +0 -0
  38. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/user_scanner/social/x.py +0 -0
  39. {user_scanner-1.0.0.9 → user_scanner-1.0.1.1}/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.0.9
3
+ Version: 1.0.1.1
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.0.9"
7
+ version = "1.0.1.1"
8
8
  description = "Check username availability across multiple popular platforms"
9
9
  readme = "README.md"
10
10
  license = {file = "LICENSE"}
@@ -98,4 +98,4 @@ def main():
98
98
  run_checks(args.username)
99
99
 
100
100
  if __name__ == "__main__":
101
- main()
101
+ main()
@@ -0,0 +1,44 @@
1
+ import httpx
2
+ from httpx import ConnectError, TimeoutException
3
+
4
+ def validate_osu(user):
5
+ """
6
+ Checks if a Osu username is available.
7
+ Returns: 1 -> available, 0 -> taken, 2 -> error
8
+ """
9
+
10
+ url = f"https://osu.ppy.sh/users/{user}"
11
+
12
+ headers = {
13
+ 'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36",
14
+ 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
15
+ 'Accept-Encoding': "gzip, deflate, br",
16
+ 'Accept-Language': "en-US,en;q=0.9",
17
+ 'sec-fetch-dest': "document",
18
+ }
19
+
20
+ try:
21
+ response = httpx.get(url, headers = headers, timeout = 5.0, follow_redirects = True)
22
+ status = response.status_code
23
+
24
+ if status == 200:
25
+ return 0
26
+ elif status == 404:
27
+ return 1
28
+ else:
29
+ return 2
30
+ except (ConnectError, TimeoutException):
31
+ return 2
32
+ except Exception:
33
+ return 2
34
+
35
+ if __name__ == "__main__":
36
+ user = input ("Username?: ").strip()
37
+ result = validate_osu(user)
38
+
39
+ if result == 1:
40
+ print("Available!")
41
+ elif result == 0:
42
+ print("Unavailable!")
43
+ else:
44
+ print("Error occurred!")
@@ -0,0 +1,34 @@
1
+ import httpx
2
+ import re
3
+
4
+ def validate_telegram(user: str) -> int:
5
+ """
6
+ Checks if a Telegram username is available.
7
+ Returns: 1 -> available, 0 -> taken, 2 -> error
8
+ """
9
+ url = f"https://t.me/{user}"
10
+ headers = {
11
+ "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"
12
+ }
13
+
14
+ try:
15
+ r = httpx.get(url, headers=headers, follow_redirects=True, timeout=3.0)
16
+ if r.status_code == 200:
17
+ return 0 if re.search(r'<div[^>]*class="tgme_page_extra"[^>]*>', r.text) else 1
18
+ return 2
19
+ except (httpx.ConnectError, httpx.TimeoutException):
20
+ return 2
21
+ except Exception:
22
+ return 2
23
+
24
+
25
+ if __name__ == "__main__":
26
+ user = input ("Username?: ").strip()
27
+ result = validate_telegram(user)
28
+
29
+ if result == 1:
30
+ print("Available!")
31
+ elif result == 0:
32
+ print("Unavailable!")
33
+ else:
34
+ print("Error occured!")
File without changes
File without changes