-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPHONIX.py
More file actions
56 lines (47 loc) Β· 2.02 KB
/
PHONIX.py
File metadata and controls
56 lines (47 loc) Β· 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# PHONIX
# MADE 5odead
## Imports
import phonenumbers
from phonenumbers import geocoder, carrier
banner = """
ββββββ ββ ββ ββββββ βββ ββ ββ ββ ββ
ββ ββ ββ ββ ββ ββ ββββ ββ ββ ββ ββ
ββββββ βββββββ ββ ββ ββ ββ ββ ββ βββ
ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ ββ
ββ ββ ββ ββββββ ββ ββββ ββ ββ ββ
"""
print(banner)
## File to store number history
history_file = "Number_History.txt"
## Function to save number to history file
def save_to_history(number):
with open(history_file, "a") as file:
file.write(number + "\n")
number = input("Enter Your Number With Country Code: ") # User Input For Number
#Sanitize input
number = (number.replace('-', ''))
number = (number.replace('(', ''))
number = (number.replace(')', ''))
number = (number.replace(' ', ''))
#Ensure the number starts with a '+' for international format
if not number.startswith('+'):
number = '+' + number
## Information Retrieving
def process():
try:
ch_nmbrs = phonenumbers.parse(number, None) # Number and No Country Assumptions
print("Country Name:", geocoder.description_for_number(ch_nmbrs, "en")) # Print in English
service_nmbr = phonenumbers.parse(number, None) # Carrier Name Analysis
print("Carrier Name:", carrier.name_for_number(service_nmbr, "en")) # Print Carrier Name
except phonenumbers.phonenumberutil.NumberParseException as e:
print(f"Error: Invalid phone number format. {e}")
## Validation
try:
ch_nmbrs = phonenumbers.parse(number, None) # Number and No Country Assumptions
if phonenumbers.is_valid_number(ch_nmbrs):
save_to_history(number)
process()
else:
raise ValueError("Invalid phone number format or incorrect number.")
except Exception as e:
print(f"Error: {e}")