fixes
This commit is contained in:
8
main.py
8
main.py
@@ -6,7 +6,9 @@ session = get_session()
|
|||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
group_instances = getGroupInstances()
|
group_instances = getGroupInstances()
|
||||||
if group_instances is not []:
|
if not group_instances:
|
||||||
|
print("No group instances were found! Nothing to do...")
|
||||||
|
else:
|
||||||
for instance in group_instances:
|
for instance in group_instances:
|
||||||
try:
|
try:
|
||||||
db_instance = DBGroupInstance(timestamp=datetime.now(),
|
db_instance = DBGroupInstance(timestamp=datetime.now(),
|
||||||
@@ -17,6 +19,4 @@ if __name__ == "__main__":
|
|||||||
session.commit()
|
session.commit()
|
||||||
print("Instance log added")
|
print("Instance log added")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Exception {e}")
|
print(f"Exception {e}")
|
||||||
else:
|
|
||||||
print("No group instances! Nothing to do")
|
|
77
vrcapi.py
77
vrcapi.py
@@ -27,7 +27,7 @@ def fakeGroupInstances():
|
|||||||
"Fake world", None, 0, "vrchat", 0, None, 0, 0, "9/11/2021", "public", ["nothing", "testing"],
|
"Fake world", None, 0, "vrchat", 0, None, 0, 0, "9/11/2021", "public", ["nothing", "testing"],
|
||||||
"http://testing.localhost/thisisnotreal.png", [], datetime.now(), 5, 90, [])
|
"http://testing.localhost/thisisnotreal.png", [], datetime.now(), 5, 90, [])
|
||||||
|
|
||||||
# fake instance
|
# Fake instance
|
||||||
fakeInstance1 = GroupInstance("TESTTESTgrp_69420_aaaaaaaaa",
|
fakeInstance1 = GroupInstance("TESTTESTgrp_69420_aaaaaaaaa",
|
||||||
"test", fakeWorld, randint(1, 50))
|
"test", fakeWorld, randint(1, 50))
|
||||||
|
|
||||||
@@ -47,47 +47,48 @@ def getGroupInstances():
|
|||||||
group_id = os.getenv("GROUP_ID")
|
group_id = os.getenv("GROUP_ID")
|
||||||
|
|
||||||
with vrchatapi.ApiClient(configuration) as api_client:
|
with vrchatapi.ApiClient(configuration) as api_client:
|
||||||
# Set our User-Agent as per VRChat Usage Policy
|
# Set our User-Agent as per VRChat Usage Policy
|
||||||
api_client.user_agent = "GroupInstanceLogger/0.1alpha me@williamtpeebles.com"
|
api_client.user_agent = "GroupInstanceLogger/0.1alpha me@williamtpeebles.com"
|
||||||
|
|
||||||
# Instantiate instances of API classes
|
# Instantiate instances of API classes
|
||||||
auth_api = authentication_api.AuthenticationApi(api_client)
|
auth_api = authentication_api.AuthenticationApi(api_client)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Calling getCurrentUser on Authentication API logs you in if the user isn't already logged in.
|
# Calling getCurrentUser on Authentication API logs you in if the user isn't already logged in.
|
||||||
current_user = auth_api.get_current_user()
|
current_user = auth_api.get_current_user()
|
||||||
except UnauthorizedException as e:
|
except UnauthorizedException as e:
|
||||||
if e.status == 200:
|
if e.status == 200:
|
||||||
if "Email 2 Factor Authentication" in e.reason:
|
if "Email 2 Factor Authentication" in e.reason:
|
||||||
# Calling email verify2fa if the account has 2FA disabled, give warning that automatic runs cannot be done
|
# Calling email verify2fa if the account has 2FA disabled, give warning that automatic runs cannot be done
|
||||||
print("IMPORTANT: Your VRChat Account is only enabled for **email** based 2-factor authentication! "
|
print("IMPORTANT: Your VRChat Account is only enabled for **email** based 2-factor authentication! "
|
||||||
"You will not be able to automate runs of GroupInstanceLogger\n"
|
"You will not be able to automate runs of GroupInstanceLogger\n"
|
||||||
"Set up your account to use TOTP-based 2FA so the application can log you in automatically\n\n")
|
"Set up your account to use TOTP-based 2FA so the application can log you in automatically\n\n")
|
||||||
auth_api.verify2_fa_email_code(two_factor_email_code=TwoFactorEmailCode(input("Email 2FA Code: ")))
|
auth_api.verify2_fa_email_code(two_factor_email_code=TwoFactorEmailCode(input("Email 2FA Code: ")))
|
||||||
elif "2 Factor Authentication" in e.reason:
|
elif "2 Factor Authentication" in e.reason:
|
||||||
# Check if TOTP code is defined in env variables
|
# Check if TOTP code is defined in env variables
|
||||||
if os.getenv("TOTP_KEY") is not None:
|
if os.getenv("TOTP_KEY") is not None:
|
||||||
print("Attempting to authenticate with defined TOTP key")
|
print("Attempting to authenticate with defined TOTP key")
|
||||||
auth_api.verify2_fa(two_factor_auth_code=TwoFactorAuthCode(getTOTP()))
|
auth_api.verify2_fa(two_factor_auth_code=TwoFactorAuthCode(getTOTP()))
|
||||||
else:
|
else:
|
||||||
# TOTP prompt if not configured
|
# TOTP prompt if not configured
|
||||||
auth_api.verify2_fa(two_factor_auth_code=input("Enter 2FA Code: "))
|
|
||||||
# Calling verify2fa if the account has 2FA enabled
|
# Calling verify2fa if the account has 2FA enabled
|
||||||
current_user = auth_api.get_current_user()
|
auth_api.verify2_fa(two_factor_auth_code=TwoFactorAuthCode(input("Enter 2FA Code: ")))
|
||||||
|
|
||||||
|
current_user = auth_api.get_current_user()
|
||||||
|
|
||||||
# Call groups APIs
|
# Call groups APIs
|
||||||
groups_api_instance = vrchatapi.GroupsApi(api_client)
|
groups_api_instance = vrchatapi.GroupsApi(api_client)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
api_response = groups_api_instance.get_group_instances(group_id) # Get group
|
api_response = groups_api_instance.get_group_instances(group_id) # Get group
|
||||||
for instance in api_response:
|
for instance in api_response:
|
||||||
group_instances.append(instance)
|
group_instances.append(instance)
|
||||||
return group_instances
|
return group_instances
|
||||||
except ApiException as e:
|
except ApiException as e:
|
||||||
print("Exception when calling GroupsApi->get_group: %s\n" % e)
|
print("Exception when calling GroupsApi->get_group: %s\n" % e)
|
||||||
else:
|
else:
|
||||||
print("Exception when calling API: %s\n", e)
|
|
||||||
except vrchatapi.ApiException as e:
|
|
||||||
print("Exception when calling API: %s\n", e)
|
print("Exception when calling API: %s\n", e)
|
||||||
|
except vrchatapi.ApiException as e:
|
||||||
|
print("Exception when calling API: %s\n", e)
|
||||||
|
|
||||||
print("Logged in as:", current_user.display_name)
|
print("Logged in as:", current_user.display_name)
|
||||||
|
Reference in New Issue
Block a user