extends Node var invite_pfp func _ready(): set_activity() discord_sdk.connect("activity_join_request",_on_activity_join_request) discord_sdk.connect("activity_join",_on_activity_join) discord_sdk.connect("activity_spectate",_on_activity_spectate) func _process(_delta): if(discord_sdk.get_is_discord_working()): $AnimatedSprite2D.play("default") else: $AnimatedSprite2D.play("gray") $AnimatedSprite2D.stop() func _on_http_request_request_completed(_result, _response_code, _headers, _body): var image = Image.new() image.load(str(invite_pfp)) var texture = ImageTexture.create_from_image(image) $Button/Panel.theme.get_theme_stylebox().texture = texture func set_activity(): discord_sdk.app_id = 1099618430065324082 discord_sdk.details = "A demo activity by vaporvee#1231" discord_sdk.state = "Checkpoint 23/23" discord_sdk.large_image = "example_game" discord_sdk.large_image_text = "Try it now!" discord_sdk.small_image = "boss" discord_sdk.small_image_text = "Fighting the end boss! D:" discord_sdk.end_timestamp = int(Time.get_unix_time_from_system()) + 3600 # +1 hour in unix time # It is NOT recommended to manage secrets locally! It's meant to be a payload wich the server understands # and returns the other variables like current_party_size, party_id etc. # Most of the values must differ from the others. var my_secret = str(randi_range(0,999999)) discord_sdk.party_id = "mylobbycanbeeverything_" + my_secret discord_sdk.current_party_size = 1 discord_sdk.max_party_size = 4 discord_sdk.match_secret = "m_" + my_secret #better use seeds with 1 to 1 range instead of just chars discord_sdk.join_secret = "j_" + my_secret discord_sdk.spectate_secret = "s_" + my_secret discord_sdk.is_public_party = true discord_sdk.instanced = true #required for spectate #discord_sdk.start_timestamp = int(Time.get_unix_time_from_system()) discord_sdk.register_command("C:\\Users\\yanni\\Desktop\\demo\\discord_sdk.exe") #discord_sdk.register_steam(1389990) discord_sdk.refresh() debug_text_update() func debug_text_update(): $Info.text = "Discord working: {discordinfo} Application ID : {id} Details: {details} State: {state} Large image key: {lkey} Large image text: {ltext} Small image key: {skey} Small image text: {stext} Start timestamp: {stimestamp} End timestamp: {etimestamp} Party ID: {partyid} Current party size: {cpartysize} Max party size: {mpartysize} Match secret: {msecret} Join secret: {jsecret} Spectate secret: {ssecret}" $Info.text = $Info.text.replace("{ssecret}",discord_sdk.spectate_secret).replace("{jsecret}",discord_sdk.join_secret).replace("{msecret}",discord_sdk.match_secret).replace("{mpartysize}",str(discord_sdk.max_party_size)).replace("{cpartysize}",str(discord_sdk.current_party_size)).replace("{partyid}",discord_sdk.party_id).replace("{discordinfo}",str(discord_sdk.get_is_discord_working())).replace("{id}",str(discord_sdk.app_id)).replace("{details}",discord_sdk.details).replace("{state}",discord_sdk.state).replace("{lkey}",discord_sdk.large_image).replace("{ltext}",discord_sdk.large_image_text).replace("{skey}",discord_sdk.small_image).replace("{stext}",discord_sdk.small_image_text).replace("{stimestamp}",str(discord_sdk.start_timestamp)).replace("{etimestamp}",str(discord_sdk.end_timestamp)) var user_request = {}; func _on_activity_join_request(user_requesting): print(user_requesting) user_request = user_requesting func _on_activity_join(secret): if(discord_sdk.join_secret != secret): discord_sdk.current_party_size = clamp(int(secret) + 1, 0, discord_sdk.max_party_size) discord_sdk.party_id = secret.replace("j_","mylobbycanbeeverything_") discord_sdk.match_secret = secret.replace("j_","m_") discord_sdk.join_secret = secret discord_sdk.spectate_secret = secret.replace("j_","s_") discord_sdk.refresh() $Info.text = $Info.text.replace("{ssecret}",discord_sdk.spectate_secret).replace("{jsecret}",discord_sdk.join_secret).replace("{msecret}",discord_sdk.match_secret).replace("{mpartysize}",str(discord_sdk.max_party_size)).replace("{cpartysize}",str(discord_sdk.current_party_size)).replace("{partyid}",discord_sdk.party_id).replace("{discordinfo}",str(discord_sdk.get_is_discord_working())).replace("{id}",str(discord_sdk.app_id)).replace("{details}",discord_sdk.details).replace("{state}",discord_sdk.state).replace("{lkey}",discord_sdk.large_image).replace("{ltext}",discord_sdk.large_image_text).replace("{skey}",discord_sdk.small_image).replace("{stext}",discord_sdk.small_image_text).replace("{stimestamp}",str(discord_sdk.start_timestamp)).replace("{etimestamp}",str(discord_sdk.end_timestamp)) debug_text_update() func _on_activity_spectate(secret): print(secret) func _on_check_button_toggled(button_pressed): if(button_pressed): set_activity() else: discord_sdk.clear() debug_text_update() func _on_button_pressed(): if(!user_request.is_empty()): discord_sdk.accept_join_request(user_request.id) func _on_line_edit_text_submitted(new_text): discord_sdk.send_invite(int(new_text),true,"this is a test invite sent from godot") func _on_line_edit_2_text_submitted(new_text): discord_sdk.accept_invite(int(new_text)) func _on_button_2_pressed(): print(discord_sdk.get_current_user())