VRChat.Groups (vrchat v1.20.0)

View Source

API calls for all endpoints tagged Groups.

Summary

Functions

Add Role to GroupMember Adds a Role to a Group Member

Create a post in a Group Create a post in a Group.

Cancel Group Join Request Cancels a request sent to join the group.

Create Group Creates a Group and returns a Group object. Requires VRC+ Subscription.

Create Group Announcement Creates an Announcement for a Group. Warning: This will also remove all announcements. To make proper announcements, use the posts endpoint instead

Invite User to Group Sends an invite to a user to join the group.

Delete Group Deletes a Group.

Delete Group Announcement Deletes the announcement for a Group.

Delete Group Gallery Deletes a gallery for a Group.

Delete Group Gallery Image Deletes an image from a Group gallery.

Delete User Invite Deletes an Group invite sent to a User

Delete Group Role Deletes a Group Role by ID and returns the remaining roles.

Get Group by ID Returns a single Group by ID.

Get Group Announcement Returns the announcement for a Group. If no announcement has been made, then it returns empty object. If an announcement exists, then it will always return all fields except imageId and imageUrl which may be null.

Get Group Audit Logs Returns a list of audit logs for a Group.

Get Group Bans Returns a list of banned users for a Group.

Get Group Gallery Images Returns a list of images for a Group gallery.

Get Group Instances Returns a list of group instances

Get Group Invites Sent Returns a list of members that have been invited to the Group.

Get Group Member Returns a LimitedGroup Member.

List Group Members Returns a List of all other Group Members. This endpoint will never return the user calling the endpoint. Information about the user calling the endpoint must be found in the myMember field of the Group object.

List Group Permissions Returns a List of all possible/available permissions for a Group.

Get posts from a Group Get posts from a Group

Get Group Join Requests Returns a list of members that have requested to join the Group.

Get Group Role Templates Obtain predefined templates for group roles

Get Group Roles Returns a Group Role by ID.

Join Group Join a Group by ID and returns the member object.

Kick Group Member Kicks a Group Member from the Group. The current user must have the "Remove Group Members" permission.

Leave Group Leave a group by ID.

Remove Role from GroupMember Removes a Role from a Group Member

Respond Group Join request Responds to a Group Join Request with Accept/Deny

Search Group Searches Groups by name or shortCode

Unban Group Member Unbans a user from a Group.

Update Group Updates a Group and returns it.

Update Group Gallery Updates a gallery for a Group.

Update Group Member Updates a Group Member

Update Group Representation Updates whether the user is representing the group. When isRepresenting is set to true, this flag will be set to false for all other groups

Update Group Role Updates a group role by ID.

Functions

add_group_member_role(connection, group_id, user_id, group_role_id, opts \\ [])

@spec add_group_member_role(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, VRChat.Model.Error.t()} | {:ok, [String.t()]} | {:error, Tesla.Env.t()}

Add Role to GroupMember Adds a Role to a Group Member

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • group_role_id (String.t): Must be a valid group role ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%String.t{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

add_group_post(connection, group_id, create_group_post_request, opts \\ [])

Create a post in a Group Create a post in a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • create_group_post_request (CreateGroupPostRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupPost.t} on success
  • {:error, Tesla.Env.t} on failure

ban_group_member(connection, group_id, ban_group_member_request, opts \\ [])

Ban Group Member Bans a user from a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • ban_group_member_request (BanGroupMemberRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupMember.t} on success
  • {:error, Tesla.Env.t} on failure

cancel_group_request(connection, group_id, opts \\ [])

@spec cancel_group_request(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Cancel Group Join Request Cancels a request sent to join the group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

create_group(connection, create_group_request, opts \\ [])

@spec create_group(Tesla.Env.client(), VRChat.Model.CreateGroupRequest.t(), keyword()) ::
  {:ok, VRChat.Model.Group.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Create Group Creates a Group and returns a Group object. Requires VRC+ Subscription.

Parameters

  • connection (VRChat.Connection): Connection to server
  • create_group_request (CreateGroupRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Group.t} on success
  • {:error, Tesla.Env.t} on failure

create_group_announcement(connection, group_id, create_group_announcement_request, opts \\ [])

Create Group Announcement Creates an Announcement for a Group. Warning: This will also remove all announcements. To make proper announcements, use the posts endpoint instead

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • create_group_announcement_request (CreateGroupAnnouncementRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupAnnouncement.t} on success
  • {:error, Tesla.Env.t} on failure

create_group_gallery(connection, group_id, create_group_gallery_request, opts \\ [])

@spec create_group_gallery(
  Tesla.Env.client(),
  String.t(),
  VRChat.Model.CreateGroupGalleryRequest.t(),
  keyword()
) ::
  {:ok, VRChat.Model.GroupGallery.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Create Group Gallery Creates a gallery for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • create_group_gallery_request (CreateGroupGalleryRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupGallery.t} on success
  • {:error, Tesla.Env.t} on failure

create_group_invite(connection, group_id, create_group_invite_request, opts \\ [])

@spec create_group_invite(
  Tesla.Env.client(),
  String.t(),
  VRChat.Model.CreateGroupInviteRequest.t(),
  keyword()
) :: {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Invite User to Group Sends an invite to a user to join the group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • create_group_invite_request (CreateGroupInviteRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

create_group_role(connection, group_id, create_group_role_request, opts \\ [])

@spec create_group_role(
  Tesla.Env.client(),
  String.t(),
  VRChat.Model.CreateGroupRoleRequest.t(),
  keyword()
) ::
  {:ok, VRChat.Model.GroupRole.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Create GroupRole Create a Group role.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • create_group_role_request (CreateGroupRoleRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupRole.t} on success
  • {:error, Tesla.Env.t} on failure

delete_group(connection, group_id, opts \\ [])

@spec delete_group(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Success.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Delete Group Deletes a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Success.t} on success
  • {:error, Tesla.Env.t} on failure

delete_group_announcement(connection, group_id, opts \\ [])

@spec delete_group_announcement(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Success.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Delete Group Announcement Deletes the announcement for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Success.t} on success
  • {:error, Tesla.Env.t} on failure

delete_group_gallery(connection, group_id, group_gallery_id, opts \\ [])

@spec delete_group_gallery(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Success.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Delete Group Gallery Deletes a gallery for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • group_gallery_id (String.t): Must be a valid group gallery ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Success.t} on success
  • {:error, Tesla.Env.t} on failure

delete_group_invite(connection, group_id, user_id, opts \\ [])

@spec delete_group_invite(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Delete User Invite Deletes an Group invite sent to a User

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

delete_group_post(connection, group_id, notification_id, opts \\ [])

@spec delete_group_post(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Success.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Delete a Group post Delete a Group post

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • notification_id (String.t): Must be a valid notification ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Success.t} on success
  • {:error, Tesla.Env.t} on failure

delete_group_role(connection, group_id, group_role_id, opts \\ [])

@spec delete_group_role(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupRole.t()]}
  | {:error, Tesla.Env.t()}

Delete Group Role Deletes a Group Role by ID and returns the remaining roles.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • group_role_id (String.t): Must be a valid group role ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%GroupRole{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group(connection, group_id, opts \\ [])

@spec get_group(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Group.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Get Group by ID Returns a single Group by ID.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :includeRoles (boolean()): Include roles for the Group object. Defaults to false.

Returns

  • {:ok, VRChat.Model.Group.t} on success
  • {:error, Tesla.Env.t} on failure

get_group_announcements(connection, group_id, opts \\ [])

@spec get_group_announcements(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, VRChat.Model.GroupAnnouncement.t()}
  | {:error, Tesla.Env.t()}

Get Group Announcement Returns the announcement for a Group. If no announcement has been made, then it returns empty object. If an announcement exists, then it will always return all fields except imageId and imageUrl which may be null.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupAnnouncement.t} on success
  • {:error, Tesla.Env.t} on failure

get_group_audit_logs(connection, group_id, opts \\ [])

@spec get_group_audit_logs(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.PaginatedGroupAuditLogEntryList.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Get Group Audit Logs Returns a list of audit logs for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.
    • :startDate (DateTime.t): The start date of the search range.
    • :endDate (DateTime.t): The end date of the search range.
    • :actorIds (String.t): The comma-separated actor ids to search for.
    • :eventTypes (String.t): The comma-separated event types to search for.
    • :targetIds (String.t): The comma-separated target ids to search for.

Returns

  • {:ok, VRChat.Model.PaginatedGroupAuditLogEntryList.t} on success
  • {:error, Tesla.Env.t} on failure

get_group_bans(connection, group_id, opts \\ [])

@spec get_group_bans(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupMember.t()]}
  | {:error, Tesla.Env.t()}

Get Group Bans Returns a list of banned users for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.

Returns

  • {:ok, [%GroupMember{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_instances(connection, group_id, opts \\ [])

@spec get_group_instances(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, [VRChat.Model.GroupInstance.t()]}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Get Group Instances Returns a list of group instances

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%GroupInstance{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_invites(connection, group_id, opts \\ [])

@spec get_group_invites(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupMember.t()]}
  | {:error, Tesla.Env.t()}

Get Group Invites Sent Returns a list of members that have been invited to the Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.

Returns

  • {:ok, [%GroupMember{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_member(connection, group_id, user_id, opts \\ [])

@spec get_group_member(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, VRChat.Model.GroupLimitedMember.t()}
  | {:error, Tesla.Env.t()}

Get Group Member Returns a LimitedGroup Member.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupLimitedMember.t} on success
  • {:error, Tesla.Env.t} on failure

get_group_members(connection, group_id, opts \\ [])

@spec get_group_members(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupMember.t()]}
  | {:error, Tesla.Env.t()}

List Group Members Returns a List of all other Group Members. This endpoint will never return the user calling the endpoint. Information about the user calling the endpoint must be found in the myMember field of the Group object.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.
    • :sort (GroupSearchSort): The sort order of Group Member results
    • :roleId (String.t): Only returns members with a specific groupRoleId

Returns

  • {:ok, [%GroupMember{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_permissions(connection, group_id, opts \\ [])

@spec get_group_permissions(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, [VRChat.Model.GroupPermission.t()]}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

List Group Permissions Returns a List of all possible/available permissions for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%GroupPermission{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_posts(connection, group_id, opts \\ [])

@spec get_group_posts(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.GetGroupPosts200Response.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Get posts from a Group Get posts from a Group

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.
    • :publicOnly (boolean()): See public posts only.

Returns

  • {:ok, VRChat.Model.GetGroupPosts200Response.t} on success
  • {:error, Tesla.Env.t} on failure

get_group_requests(connection, group_id, opts \\ [])

@spec get_group_requests(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupMember.t()]}
  | {:error, Tesla.Env.t()}

Get Group Join Requests Returns a list of members that have requested to join the Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :n (integer()): The number of objects to return.
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.
    • :blocked (boolean()): See blocked join requests

Returns

  • {:ok, [%GroupMember{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

get_group_role_templates(connection, opts \\ [])

@spec get_group_role_templates(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, %{optional(String.t()) => VRChat.Model.GroupRoleTemplateValues.t()}}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Get Group Role Templates Obtain predefined templates for group roles

Parameters

  • connection (VRChat.Connection): Connection to server
  • opts (keyword): Optional parameters

Returns

  • {:ok, %{}} on success
  • {:error, Tesla.Env.t} on failure

get_group_roles(connection, group_id, opts \\ [])

@spec get_group_roles(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupRole.t()]}
  | {:error, Tesla.Env.t()}

Get Group Roles Returns a Group Role by ID.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%GroupRole{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

join_group(connection, group_id, opts \\ [])

@spec join_group(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.GroupMember.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Join Group Join a Group by ID and returns the member object.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupMember.t} on success
  • {:error, Tesla.Env.t} on failure

kick_group_member(connection, group_id, user_id, opts \\ [])

@spec kick_group_member(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Kick Group Member Kicks a Group Member from the Group. The current user must have the "Remove Group Members" permission.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

leave_group(connection, group_id, opts \\ [])

@spec leave_group(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Leave Group Leave a group by ID.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

remove_group_member_role(connection, group_id, user_id, group_role_id, opts \\ [])

@spec remove_group_member_role(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  String.t(),
  keyword()
) ::
  {:ok, VRChat.Model.Error.t()} | {:ok, [String.t()]} | {:error, Tesla.Env.t()}

Remove Role from GroupMember Removes a Role from a Group Member

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • group_role_id (String.t): Must be a valid group role ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, [%String.t{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

respond_group_join_request(connection, group_id, user_id, respond_group_join_request, opts \\ [])

@spec respond_group_join_request(
  Tesla.Env.client(),
  String.t(),
  String.t(),
  VRChat.Model.RespondGroupJoinRequest.t(),
  keyword()
) :: {:ok, nil} | {:ok, VRChat.Model.Error.t()} | {:error, Tesla.Env.t()}

Respond Group Join request Responds to a Group Join Request with Accept/Deny

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • respond_group_join_request (RespondGroupJoinRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

search_groups(connection, opts \\ [])

@spec search_groups(
  Tesla.Env.client(),
  keyword()
) ::
  {:ok, [VRChat.Model.LimitedGroup.t()]}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Search Group Searches Groups by name or shortCode

Parameters

  • connection (VRChat.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :query (String.t): Query to search for, can be either Group Name or Group shortCode
    • :offset (integer()): A zero-based offset from the default object sorting from where search results start.
    • :n (integer()): The number of objects to return.

Returns

  • {:ok, [%LimitedGroup{}, ...]} on success
  • {:error, Tesla.Env.t} on failure

unban_group_member(connection, group_id, user_id, opts \\ [])

@spec unban_group_member(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.GroupMember.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Unban Group Member Unbans a user from a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupMember.t} on success
  • {:error, Tesla.Env.t} on failure

update_group(connection, group_id, opts \\ [])

@spec update_group(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Group.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Update Group Updates a Group and returns it.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • opts (keyword): Optional parameters
    • :body (UpdateGroupRequest):

Returns

  • {:ok, VRChat.Model.Group.t} on success
  • {:error, Tesla.Env.t} on failure

update_group_gallery(connection, group_id, group_gallery_id, opts \\ [])

@spec update_group_gallery(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.GroupGallery.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Update Group Gallery Updates a gallery for a Group.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • group_gallery_id (String.t): Must be a valid group gallery ID.
  • opts (keyword): Optional parameters
    • :body (UpdateGroupGalleryRequest):

Returns

  • {:ok, VRChat.Model.GroupGallery.t} on success
  • {:error, Tesla.Env.t} on failure

update_group_member(connection, group_id, user_id, opts \\ [])

@spec update_group_member(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, VRChat.Model.GroupLimitedMember.t()}
  | {:error, Tesla.Env.t()}

Update Group Member Updates a Group Member

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • user_id (String.t): Must be a valid user ID.
  • opts (keyword): Optional parameters
    • :body (UpdateGroupMemberRequest):

Returns

  • {:ok, VRChat.Model.GroupLimitedMember.t} on success
  • {:error, Tesla.Env.t} on failure

update_group_post(connection, group_id, notification_id, create_group_post_request, opts \\ [])

Edits a Group post Edits a Group post

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • notification_id (String.t): Must be a valid notification ID.
  • create_group_post_request (CreateGroupPostRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.GroupPost.t} on success
  • {:error, Tesla.Env.t} on failure

update_group_representation(connection, group_id, update_group_representation_request, opts \\ [])

@spec update_group_representation(
  Tesla.Env.client(),
  String.t(),
  VRChat.Model.UpdateGroupRepresentationRequest.t(),
  keyword()
) ::
  {:ok, VRChat.Model.Success.t()}
  | {:ok, VRChat.Model.Error.t()}
  | {:error, Tesla.Env.t()}

Update Group Representation Updates whether the user is representing the group. When isRepresenting is set to true, this flag will be set to false for all other groups

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • update_group_representation_request (UpdateGroupRepresentationRequest):
  • opts (keyword): Optional parameters

Returns

  • {:ok, VRChat.Model.Success.t} on success
  • {:error, Tesla.Env.t} on failure

update_group_role(connection, group_id, group_role_id, opts \\ [])

@spec update_group_role(Tesla.Env.client(), String.t(), String.t(), keyword()) ::
  {:ok, VRChat.Model.Error.t()}
  | {:ok, [VRChat.Model.GroupRole.t()]}
  | {:error, Tesla.Env.t()}

Update Group Role Updates a group role by ID.

Parameters

  • connection (VRChat.Connection): Connection to server
  • group_id (String.t): Must be a valid group ID.
  • group_role_id (String.t): Must be a valid group role ID.
  • opts (keyword): Optional parameters
    • :body (UpdateGroupRoleRequest):

Returns

  • {:ok, [%GroupRole{}, ...]} on success
  • {:error, Tesla.Env.t} on failure