Godot 4 · GDScript
Amigos
Sistema de amizades: convites, lista de pendentes e rankings filtrados apenas para amigos.
Enviar um Convite
Convide um jogador pela sua chave e escute invite_sent:
Gamdato.invite_sent.connect(_on_invite)
Gamdato.send_friend_invite(player_key, "Let's play!")# invitation: Dictionary (the one just created)
{
"id": String,
"to_player_key": String,
"to_player_name": String,
"status": "pending",
"message": String,
"created_at": String,
"expires_at": String
}Listar Convites
Obtenha os convites pendentes (enviados e recebidos) combinados:
Gamdato.invitations_listed.connect(_on_invites)
Gamdato.list_pending_invitations()# invitations: Array, each invitation:
{
"id": String, # pass this to respond/cancel
"direction": "incoming" | "outgoing",
"counterpart": {
"player_key": String,
"player_name": String
},
"status": "pending",
"message": String, # may be empty
"created_at": String, # ISO date
"responded_at": String, # null while pending
"expires_at": String # ISO date
}Responder e Cancelar
Aceite ou recuse um convite recebido, ou cancele um que você enviou:
Gamdato.respond_invitation(invitation_id, true) # accept
Gamdato.cancel_invitation(invitation_id) # cancel a sent oneListe Seus Amigos
Obtenha a lista de amigos aceitos (não os convites). Opcionalmente, filtre por nome.
Gamdato.friends_loaded.connect(_on_friends)
Gamdato.list_friends() # ou list_friends(50, "text")
func _on_friends(friends: Array) -> void:
for f in friends:
print("%s (desde %s)" % [f.player_name, f.friends_since])# friends: Array, each friend:
{
"player_key": String,
"player_name": String,
"friends_since": String # ISO date
}Remover um Amigo
Apague uma amizade existente pela chave do jogador.
Gamdato.friend_removed.connect(_on_removed)
Gamdato.remove_friend(player_key)
func _on_removed(ok: bool, key: String, error_code: String) -> void:
if ok: print("Amigo removido")