Functions Reference
Godot 4 · GDScript · Groups & clans
assign_group_role
Changes a member's role within the group.
Asynchronous (result via signal)
Signature
assign_group_role(player_key: String, role: String) -> voidWhat it does
POSTs /groups/members/assign-role. role echoes the requested role. "leader" is rejected; transfer leadership separately. error_code may be invalid_role / insufficient_rank / target_not_member / forbidden / not_found.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| player_key | String | required | Key of the member whose role changes. |
| role | String | required | "admin", "member", or a custom role_key matching ^[a-z0-9_]{1,32}$. Cannot be "leader"; use transfer_group_leadership() for that. |
How to call it
Connect group_member_role_assigned first, then call assign_group_role(). Permission/rank is enforced server-side. To make someone leader, use transfer_group_leadership() instead.
Result signal: group_member_role_assigned(success: bool, player_key: String, role: String, error_code: String)
Example
Gamdato.group_member_role_assigned.connect(_on_role)
Gamdato.assign_group_role(player_key, "admin") # not "leader"
func _on_role(ok: bool, player_key: String, role: String, error_code: String) -> void:
if ok: print("%s is now %s" % [player_key, role])Use cases
- Promote a trusted member to admin/officer.
- Demote an admin back to a regular member.