Skip to content

Commit fbe643b

Browse files
committed
Local III bugfix for Windows by @Taylor_Witt
1 parent 1d8e423 commit fbe643b

File tree

1 file changed

+19
-5
lines changed
  • interpreter/core/computer/sms

1 file changed

+19
-5
lines changed

interpreter/core/computer/sms/sms.py

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,33 @@
33
import plistlib
44
import sqlite3
55
import subprocess
6+
import sys
67
import time
78

89

910
class SMS:
1011
def __init__(self, computer):
1112
self.computer = computer
12-
self.database_path = self.resolve_database_path()
13+
if sys.platform.lower() == "darwin": # Only if macOS
14+
self.database_path = self.resolve_database_path()
15+
else:
16+
self.database_path = None
1317

1418
def resolve_database_path(self):
15-
if os.geteuid() == 0: # Running as root
16-
home_directory = os.path.expanduser(f"~{os.environ.get('SUDO_USER')}")
17-
else:
19+
try:
20+
if os.geteuid() == 0: # Running as root
21+
home_directory = os.path.expanduser(f"~{os.environ.get('SUDO_USER')}")
22+
else:
23+
home_directory = os.path.expanduser("~")
24+
return f"{home_directory}/Library/Messages/chat.db"
25+
except:
1826
home_directory = os.path.expanduser("~")
19-
return f"{home_directory}/Library/Messages/chat.db"
27+
return f"{home_directory}/Library/Messages/chat.db"
2028

2129
def send(self, to, message):
30+
if sys.platform.lower() != "darwin":
31+
print("Only supported on Mac.")
32+
return
2233
message_escaped = message.replace('"', '\\"').replace("\\", "\\\\")
2334
script = f"""
2435
tell application "Messages"
@@ -30,6 +41,9 @@ def send(self, to, message):
3041
return "Message sent successfully"
3142

3243
def get(self, contact=None, limit=10, substring=None):
44+
if sys.platform.lower() != "darwin":
45+
print("Only supported on Mac.")
46+
return
3347
if not self.can_access_database():
3448
self.prompt_full_disk_access()
3549

0 commit comments

Comments
 (0)