added send invite from game methods
This commit is contained in:
@@ -1,30 +1,47 @@
|
||||
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)
|
||||
download_texture("https://cdn.discordapp.com/embed/avatars/1.png", "res://discord_pfp_cache/invitepfp.png")
|
||||
debug_text_update()
|
||||
func download_texture(url, file_name):
|
||||
$user_request_avatar/HTTPRequest.download_file = file_name
|
||||
invite_pfp = file_name
|
||||
$user_request_avatar/HTTPRequest.request(url)
|
||||
|
||||
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)
|
||||
$user_request_avatar.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 = "game"
|
||||
|
||||
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.current_party_size = 4
|
||||
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.instanced = true #required for spectate
|
||||
#discord_sdk.start_timestamp = int(Time.get_unix_time_from_system())
|
||||
#discord_sdk.register_command("steam://rungameid/1389990")
|
||||
#discord_sdk.register_steam(1389990)
|
||||
@@ -33,8 +50,13 @@ func set_activity():
|
||||
func debug_text_update():
|
||||
$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
|
||||
print(user_requesting.avatar_url)
|
||||
download_texture(user_requesting.avatar_url, "res://discord_pfp_cache/invitepfp.png")
|
||||
|
||||
func _on_activity_join(secret):
|
||||
if(discord_sdk.join_secret != secret):
|
||||
@@ -45,16 +67,26 @@ func _on_activity_join(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))
|
||||
print(secret)
|
||||
print(discord_sdk.get_current_party_size())
|
||||
print(discord_sdk.get_join_secret())
|
||||
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()
|
||||
|
||||
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")
|
||||
print(int(new_text))
|
||||
|
||||
|
||||
func _on_line_edit_2_text_submitted(new_text):
|
||||
discord_sdk.accept_invite(int(new_text))
|
||||
print(int(new_text))
|
||||
|
Reference in New Issue
Block a user