GS2-Friend Script Trigger Reference

Reference for event triggers that call extended scripts

Trigger

updateProfile

Update profile

Synchronous Execution Script

The script is executed synchronously before the update profile process.

Request
Type Description
namespace Namespace Namespace
profile Profile Profile
oldProfile Profile Old profile
publicProfile string New Public profile
followerProfile string New profile for followers
friendProfile string New profile for friends
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow update profile
Implementation Example
-- Request
local namespace = args.namespace
local profile = args.profile
local oldProfile = args.oldProfile
local publicProfile = args.publicProfile
local followerProfile = args.followerProfile
local friendProfile = args.friendProfile

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the update profile process.

Request
Type Description
namespace Namespace Namespace
oldProfile Profile Profile before update
profile Profile Profile after update
Implementation Example
-- Request
local namespace = args.namespace
local oldProfile = args.oldProfile
local profile = args.profile

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

follow

Follow

Synchronous Execution Script

The script is executed synchronously before the follow process.

Request
Type Description
namespace Namespace Namespace
followUser FollowUser Follow Information
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow the follow operation
Implementation Example
-- Request
local namespace = args.namespace
local followUser = args.followUser

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the follow process.

Request
Type Description
namespace Namespace Namespace
followUser FollowUser Follow Information
Implementation Example
-- Request
local namespace = args.namespace
local followUser = args.followUser

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

unfollow

Unfollow

Synchronous Execution Script

The script is executed synchronously before the unfollow process.

Request
Type Description
namespace Namespace Namespace
followUser FollowUser Follow Information
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow the unfollow operation
Implementation Example
-- Request
local namespace = args.namespace
local followUser = args.followUser

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the unfollow process.

Request
Type Description
namespace Namespace Namespace
followUser FollowUser Follow Information
Implementation Example
-- Request
local namespace = args.namespace
local followUser = args.followUser

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

deleteFriend

Delete friend

Synchronous Execution Script

The script is executed synchronously before the delete friend process.

Request
Type Description
namespace Namespace Namespace
userId string User ID
friendUser FriendUser Friend
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow deleting a friend
Implementation Example
-- Request
local namespace = args.namespace
local userId = args.userId
local friendUser = args.friendUser

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the delete friend process.

Request
Type Description
namespace Namespace Namespace
userId string User ID
friendUser FriendUser Friend
Implementation Example
-- Request
local namespace = args.namespace
local userId = args.userId
local friendUser = args.friendUser

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

sendRequest

Send Friend Request

Synchronous Execution Script

The script is executed synchronously before the send friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow send friend request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the send friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

cancelRequest

Cancel Friend Request

Synchronous Execution Script

The script is executed synchronously before the cancel friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow cancellation of friend request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the cancel friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

acceptRequest

Accept Friend Request

Synchronous Execution Script

The script is executed synchronously before the accept friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow accepting the friend request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the accept friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}

rejectRequest

Reject Friend Request

Synchronous Execution Script

The script is executed synchronously before the reject friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Result
Type Required Default Value Limits Description
permit bool
✓
Whether to allow rejecting the friend request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Business logic:
local permit = true

-- Result
result = {
  permit=permit
}

Asynchronous Execution Script

The script is executed asynchronously after the reject friend request process.

Request
Type Description
namespace Namespace Namespace
friendRequest FriendRequest Friend Request
Implementation Example
-- Request
local namespace = args.namespace
local friendRequest = args.friendRequest

-- Asynchronous scripts typically do not affect the API response.
-- These scripts are typically used for logging, analytics, external notifications, and similar purposes.

result = {
}