ISteamFriends

Note

This documentation is auto-generated. Methods marked with 🤖 are automatically generated bindings. Methods marked with ✍️ are manually implemented and methods marked with ✋ are currently not implemented.

List of Functions

List of Callbacks

Function Reference

Friends.ActivateGameOverlay(pchDialog)

🤖 Auto-generated binding

Parameters:

pchDialog (str?) –

SteamWorks:

ActivateGameOverlay

Example:

Steam.Friends.ActivateGameOverlay('stats')
Friends.ActivateGameOverlayInviteDialog(steamIDLobby)

🤖 Auto-generated binding

Parameters:

steamIDLobby (uint64 - CSteamID) –

SteamWorks:

ActivateGameOverlayInviteDialog

Example:

-- Open the Steam overlay invite dialog for a lobby
Steam.Friends.ActivateGameOverlayInviteDialog(lobbyID)
Friends.ActivateGameOverlayInviteDialogConnectString(pchConnectString)

🤖 Auto-generated binding

Parameters:

pchConnectString (str?) –

SteamWorks:

ActivateGameOverlayInviteDialogConnectString

Friends.ActivateGameOverlayRemotePlayTogetherInviteDialog(steamIDLobby)

🤖 Auto-generated binding

Parameters:

steamIDLobby (uint64 - CSteamID) –

SteamWorks:

ActivateGameOverlayRemotePlayTogetherInviteDialog

Friends.ActivateGameOverlayToStore(nAppID, eFlag)

🤖 Auto-generated binding

Parameters:
  • nAppID (int - AppId_t) –

  • eFlag (int - EOverlayToStoreFlag) –

SteamWorks:

ActivateGameOverlayToStore

Example:

Steam.Friends.ActivateGameOverlayToStore(Steam.Utils.GetAppID(), Steam.k_EOverlayToStoreFlag_AddToCartAndShow)
Friends.ActivateGameOverlayToUser(pchDialog, steamID)

🤖 Auto-generated binding

Parameters:
  • pchDialog (str?) –

  • steamID (uint64 - CSteamID) –

SteamWorks:

ActivateGameOverlayToUser

Example:

Steam.Friends.ActivateGameOverlayToUser('steamid', friendSteamID)
Friends.ActivateGameOverlayToWebPage(pchURL, eMode)

🤖 Auto-generated binding

Parameters:
  • pchURL (str?) –

  • eMode (int - EActivateGameOverlayToWebPageMode) –

SteamWorks:

ActivateGameOverlayToWebPage

Example:

Steam.Friends.ActivateGameOverlayToWebPage('https://www.google.com')
Friends.BHasEquippedProfileItem(steamID, itemType)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • itemType (int - ECommunityProfileItemType) –

Returns:

(bool) Return value

SteamWorks:

BHasEquippedProfileItem

Friends.ClearRichPresence()

🤖 Auto-generated binding

SteamWorks:

ClearRichPresence

Example:

Steam.Friends.ClearRichPresence()
Friends.CloseClanChatWindowInSteam(steamIDClanChat)

🤖 Auto-generated binding

Parameters:

steamIDClanChat (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

CloseClanChatWindowInSteam

Friends.DownloadClanActivityCounts(cClansToRequest, callback)

🤖 Auto-generated binding

Parameters:
  • cClansToRequest (int?) – size of the buffer to allocate for psteamIDClans. If nil then the buffer will be NULL.

  • callback (function) – CallResult callback receiving struct DownloadClanActivityCountsResult_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

Returns:

(uint64[]) psteamIDClans

SteamWorks:

DownloadClanActivityCounts

Signature differences from C++ API:

  • Parameter psteamIDClans is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Friends.EnumerateFollowingList(unStartIndex, callback)

🤖 Auto-generated binding

Parameters:
Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

EnumerateFollowingList

Friends.GetChatMemberByIndex(steamIDClan, iUser)

🤖 Auto-generated binding

Parameters:
  • steamIDClan (uint64 - CSteamID) –

  • iUser (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetChatMemberByIndex

Friends.GetClanActivityCounts(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(bool) Return value

Returns:

(int) pnOnline

Returns:

(int) pnInGame

Returns:

(int) pnChatting

SteamWorks:

GetClanActivityCounts

Signature differences from C++ API:

  • Parameter pnOnline is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter pnInGame is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter pnChatting is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Friends.GetClanByIndex(iClan)

🤖 Auto-generated binding

Parameters:

iClan (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetClanByIndex

Notes:

Friends.GetClanChatMemberCount(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetClanChatMemberCount

Friends.GetClanChatMessage(steamIDClanChat, iMessage, cchTextMax)

🤖 Auto-generated binding

Parameters:
  • steamIDClanChat (uint64 - CSteamID) –

  • iMessage (int) –

  • cchTextMax (int?) – size of the buffer to allocate for prgchText. If nil then the buffer will be NULL.

Returns:

(int) Return value

Returns:

(str) prgchText

Returns:

(int) peChatEntryType

Returns:

(uint64) psteamidChatter

SteamWorks:

GetClanChatMessage

Signature differences from C++ API:

  • Parameter prgchText is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter peChatEntryType is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter psteamidChatter is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Friends.GetClanCount()

🤖 Auto-generated binding

Returns:

(int) Return value

SteamWorks:

GetClanCount

Example:

local count = Steam.Friends.GetClanCount()
for i = 0, count - 1 do
    local clanID = Steam.Friends.GetClanByIndex(i)
    print('Clan: ' .. Steam.Friends.GetClanName(clanID))
end
Friends.GetClanName(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(str) Return value

SteamWorks:

GetClanName

Notes:

Friends.GetClanOfficerByIndex(steamIDClan, iOfficer)

🤖 Auto-generated binding

Parameters:
  • steamIDClan (uint64 - CSteamID) –

  • iOfficer (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetClanOfficerByIndex

Notes:

Friends.GetClanOfficerCount(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetClanOfficerCount

Example:

local count = Steam.Friends.GetClanOfficerCount(clanID)
for i = 0, count - 1 do
    local officerID = Steam.Friends.GetClanOfficerByIndex(clanID, i)
    print('Officer:', Steam.Friends.GetFriendPersonaName(officerID))
end
Friends.GetClanOwner(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetClanOwner

Example:

local ownerID = Steam.Friends.GetClanOwner(clanID)
print('Clan owner:', Steam.Friends.GetFriendPersonaName(ownerID))
Friends.GetClanTag(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(str) Return value

SteamWorks:

GetClanTag

Friends.GetCoplayFriend(iCoplayFriend)

🤖 Auto-generated binding

Parameters:

iCoplayFriend (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetCoplayFriend

Friends.GetCoplayFriendCount()

🤖 Auto-generated binding

Returns:

(int) Return value

SteamWorks:

GetCoplayFriendCount

Friends.GetFollowerCount(steamID, callback)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct FriendsGetFollowerCount_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

GetFollowerCount

Example:

Steam.Friends.GetFollowerCount(playerID, function(data, err)
    if not err then
        print('Follower count:', data.m_nCount)
    end
end)
Friends.GetFriendByIndex(iFriend, iFriendFlags)

🤖 Auto-generated binding

Parameters:
  • iFriend (int) –

  • iFriendFlags (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetFriendByIndex

Example:

local count = Steam.Friends.GetFriendCount(Steam.k_EFriendFlagAll)
for i = 0, count - 1 do
    local friend_id = Steam.Friends.GetFriendByIndex(i, Steam.k_EFriendFlagAll)
    print(Steam.Friends.GetFriendPersonaName(friend_id))
end
Friends.GetFriendCoplayGame(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int - AppId_t) Return value

SteamWorks:

GetFriendCoplayGame

Example:

local gameID = Steam.Friends.GetFriendCoplayGame(friendID)
print('Friend last co-op game:', tostring(gameID))
Friends.GetFriendCoplayTime(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetFriendCoplayTime

Friends.GetFriendCount(iFriendFlags)

🤖 Auto-generated binding

Parameters:

iFriendFlags (int) –

Returns:

(int) Return value

SteamWorks:

GetFriendCount

Example:

local count = Steam.Friends.GetFriendCount(Steam.k_EFriendFlagAll)
print('You have ' .. count .. ' friends')
Friends.GetFriendCountFromSource(steamIDSource)

🤖 Auto-generated binding

Parameters:

steamIDSource (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetFriendCountFromSource

Friends.GetFriendFromSourceByIndex(steamIDSource, iFriend)

🤖 Auto-generated binding

Parameters:
  • steamIDSource (uint64 - CSteamID) –

  • iFriend (int) –

Returns:

(uint64 - CSteamID) Return value

SteamWorks:

GetFriendFromSourceByIndex

Friends.GetFriendGamePlayed(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(bool) Return value

Returns:

(FriendGameInfo_t) pFriendGameInfo

SteamWorks:

GetFriendGamePlayed

Signature differences from C++ API:

  • Parameter pFriendGameInfo is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Example:

local is_friend, pFriendGameInfo = Steam.Friends.GetFriendGamePlayed(friendID)
if is_friend then
    print('Friend is playing game:', pFriendGameInfo.m_gameID)
end
Friends.GetFriendMessage(steamIDFriend, iMessageID, cubData)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • iMessageID (int) –

  • cubData (int?) – size of the buffer to allocate for pvData. If nil then the buffer will be NULL.

Returns:

(int) Return value

Returns:

(str) pvData

Returns:

(int) peChatEntryType

SteamWorks:

GetFriendMessage

Signature differences from C++ API:

  • Parameter pvData is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter peChatEntryType is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Friends.GetFriendPersonaName(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(str) Return value

SteamWorks:

GetFriendPersonaName

Example:

local friend_id = getSteamIdSomehow()
print("Friend's name is: " .. Steam.Friends.GetFriendPersonaName(friend_id))
Friends.GetFriendPersonaNameHistory(steamIDFriend, iPersonaName)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • iPersonaName (int) –

Returns:

(str) Return value

SteamWorks:

GetFriendPersonaNameHistory

Friends.GetFriendPersonaState(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int - EPersonaState) Return value

SteamWorks:

GetFriendPersonaState

Example:

local state = Steam.Friends.GetFriendPersonaState(friendID)
if state == Steam.k_EPersonaStateOnline then
    print('Friend is online')
end
Friends.GetFriendRelationship(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int - EFriendRelationship) Return value

SteamWorks:

GetFriendRelationship

Example:

local rel = Steam.Friends.GetFriendRelationship(playerID)
if rel == Steam.k_EFriendRelationshipFriend then
    print('This player is your friend')
end
Friends.GetFriendRichPresence(steamIDFriend, pchKey)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • pchKey (str?) –

Returns:

(str) Return value

SteamWorks:

GetFriendRichPresence

Example:

local value = Steam.Friends.GetFriendRichPresence(friend_id, 'steam_display')
print('Rich presence: ' .. value)
Friends.GetFriendRichPresenceKeyByIndex(steamIDFriend, iKey)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • iKey (int) –

Returns:

(str) Return value

SteamWorks:

GetFriendRichPresenceKeyByIndex

Notes:

Friends.GetFriendRichPresenceKeyCount(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetFriendRichPresenceKeyCount

Example:

local count = Steam.Friends.GetFriendRichPresenceKeyCount(friendID)
for i = 0, count - 1 do
    local key = Steam.Friends.GetFriendRichPresenceKeyByIndex(friendID, i)
    local val = Steam.Friends.GetFriendRichPresence(friendID, key)
    print(key .. ' = ' .. val)
end
Friends.GetFriendSteamLevel(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetFriendSteamLevel

Example:

local level = Steam.Friends.GetFriendSteamLevel(friendID)
print('Friend Steam level:', level)
Friends.GetFriendsGroupCount()

🤖 Auto-generated binding

Returns:

(int) Return value

SteamWorks:

GetFriendsGroupCount

Example:

local groupCount = Steam.Friends.GetFriendsGroupCount()
for i = 0, groupCount - 1 do
    local groupID = Steam.Friends.GetFriendsGroupIDByIndex(i)
    print('Group: ' .. Steam.Friends.GetFriendsGroupName(groupID))
end
Friends.GetFriendsGroupIDByIndex(iFG)

🤖 Auto-generated binding

Parameters:

iFG (int) –

Returns:

(int - FriendsGroupID_t) Return value

SteamWorks:

GetFriendsGroupIDByIndex

Notes:

Friends.GetFriendsGroupMembersCount(friendsGroupID)

🤖 Auto-generated binding

Parameters:

friendsGroupID (int - FriendsGroupID_t) –

Returns:

(int) Return value

SteamWorks:

GetFriendsGroupMembersCount

Friends.GetFriendsGroupMembersList(friendsGroupID, nMembersCount)

🤖 Auto-generated binding

Parameters:
  • friendsGroupID (int - FriendsGroupID_t) –

  • nMembersCount (int?) – size of the buffer to allocate for pOutSteamIDMembers. If nil then the buffer will be NULL.

Returns:

(uint64[]) pOutSteamIDMembers

SteamWorks:

GetFriendsGroupMembersList

Signature differences from C++ API:

  • Parameter pOutSteamIDMembers is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Friends.GetFriendsGroupName(friendsGroupID)

🤖 Auto-generated binding

Parameters:

friendsGroupID (int - FriendsGroupID_t) –

Returns:

(str) Return value

SteamWorks:

GetFriendsGroupName

Notes:

Friends.GetLargeFriendAvatar(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetLargeFriendAvatar

Notes:

Friends.GetMediumFriendAvatar(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetMediumFriendAvatar

Notes:

Friends.GetNumChatsWithUnreadPriorityMessages()

🤖 Auto-generated binding

Returns:

(int) Return value

SteamWorks:

GetNumChatsWithUnreadPriorityMessages

Friends.GetPersonaName()

🤖 Auto-generated binding

Returns:

(str) Return value

SteamWorks:

GetPersonaName

Gets the current user’s persona (display) name.

Example:

print('My name is: ' .. Steam.Friends.GetPersonaName())
Friends.GetPersonaState()

🤖 Auto-generated binding

Returns:

(int - EPersonaState) Return value

SteamWorks:

GetPersonaState

Example:

local state = Steam.Friends.GetPersonaState()
if state == Steam.k_EPersonaStateOnline then
    print('User is online')
end
Friends.GetPlayerNickname(steamIDPlayer)

🤖 Auto-generated binding

Parameters:

steamIDPlayer (uint64 - CSteamID) –

Returns:

(str) Return value

SteamWorks:

GetPlayerNickname

Example:

local nick = Steam.Friends.GetPlayerNickname(friendID)
if nick then
    print('Your nickname for this friend: ' .. nick)
end
Friends.GetProfileItemPropertyString(steamID, itemType, prop)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • itemType (int - ECommunityProfileItemType) –

  • prop (int - ECommunityProfileItemProperty) –

Returns:

(str) Return value

SteamWorks:

GetProfileItemPropertyString

Friends.GetProfileItemPropertyUint(steamID, itemType, prop)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • itemType (int - ECommunityProfileItemType) –

  • prop (int - ECommunityProfileItemProperty) –

Returns:

(int) Return value

SteamWorks:

GetProfileItemPropertyUint

Friends.GetSmallFriendAvatar(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

Returns:

(int) Return value

SteamWorks:

GetSmallFriendAvatar

Example:

local imageHandle = Steam.Friends.GetSmallFriendAvatar(friendID)
if imageHandle > 0 then
    local w, h = Steam.Utils.GetImageSize(imageHandle)
    local ok, rgba = Steam.Utils.GetImageRGBA(imageHandle, w * h * 4)
    if ok then
        -- RGBA is a lua string with binary data of the pixels
        renderAvatar(rgba, w, h)
    end
end
Friends.HasFriend(steamIDFriend, iFriendFlags)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • iFriendFlags (int) –

Returns:

(bool) Return value

SteamWorks:

HasFriend

Example:

if Steam.Friends.HasFriend(playerID, Steam.k_EFriendFlagImmediate) then
    print('This player is a direct friend')
end
Friends.InviteUserToGame(steamIDFriend, pchConnectString)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • pchConnectString (str?) –

Returns:

(bool) Return value

SteamWorks:

InviteUserToGame

Example:

-- Invite a friend to your server
Steam.Friends.InviteUserToGame(friend_id, '+connect 1.2.3.4:27015')
Friends.IsClanChatAdmin(steamIDClanChat, steamIDUser)

🤖 Auto-generated binding

Parameters:
  • steamIDClanChat (uint64 - CSteamID) –

  • steamIDUser (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

IsClanChatAdmin

Friends.IsClanChatWindowOpenInSteam(steamIDClanChat)

🤖 Auto-generated binding

Parameters:

steamIDClanChat (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

IsClanChatWindowOpenInSteam

Friends.IsClanOfficialGameGroup(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

IsClanOfficialGameGroup

Friends.IsClanPublic(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

IsClanPublic

Friends.IsFollowing(steamID, callback)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct FriendsIsFollowing_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

IsFollowing

Example:

Steam.Friends.IsFollowing(playerID, function(data, err)
    if not err then
        print('Following:', data.m_bIsFollowing)
    end
end)
Friends.IsUserInSource(steamIDUser, steamIDSource)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • steamIDSource (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

IsUserInSource

Friends.JoinClanChatRoom(steamIDClan, callback)

🤖 Auto-generated binding

Parameters:
Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

JoinClanChatRoom

Example:

Steam.Friends.JoinClanChatRoom(clanID, function(data, err)
    if not err and data.m_eChatRoomEnterResponse == 1 then
        print('Joined clan chat:', data.m_steamIDClanChat)
    end
end)
Friends.LeaveClanChatRoom(steamIDClan)

🤖 Auto-generated binding

Parameters:

steamIDClan (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

LeaveClanChatRoom

Friends.OpenClanChatWindowInSteam(steamIDClanChat)

🤖 Auto-generated binding

Parameters:

steamIDClanChat (uint64 - CSteamID) –

Returns:

(bool) Return value

SteamWorks:

OpenClanChatWindowInSteam

Friends.RegisterProtocolInOverlayBrowser(pchProtocol)

🤖 Auto-generated binding

Parameters:

pchProtocol (str?) –

Returns:

(bool) Return value

SteamWorks:

RegisterProtocolInOverlayBrowser

Friends.ReplyToFriendMessage(steamIDFriend, pchMsgToSend)

🤖 Auto-generated binding

Parameters:
  • steamIDFriend (uint64 - CSteamID) –

  • pchMsgToSend (str?) –

Returns:

(bool) Return value

SteamWorks:

ReplyToFriendMessage

Friends.RequestClanOfficerList(steamIDClan, callback)

🤖 Auto-generated binding

Parameters:
  • steamIDClan (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct ClanOfficerListResponse_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

RequestClanOfficerList

Friends.RequestEquippedProfileItems(steamID, callback)

🤖 Auto-generated binding

Parameters:
  • steamID (uint64 - CSteamID) –

  • callback (function) – CallResult callback receiving struct EquippedProfileItems_t and a boolean

Returns:

(uint64) SteamAPICall_t handle for this async call. The result is delivered via the callback parameter when Steam.RunCallbacks() is called.

SteamWorks:

RequestEquippedProfileItems

Friends.RequestFriendRichPresence(steamIDFriend)

🤖 Auto-generated binding

Parameters:

steamIDFriend (uint64 - CSteamID) –

SteamWorks:

RequestFriendRichPresence

Example:

-- Request fresh rich presence data for a friend
Steam.Friends.RequestFriendRichPresence(friendID)
Friends.RequestUserInformation(steamIDUser, bRequireNameOnly)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • bRequireNameOnly (bool) –

Returns:

(bool) Return value

SteamWorks:

RequestUserInformation

Example:

-- Request the player name and avatar; returns true if data needs to be fetched
local needsData = Steam.Friends.RequestUserInformation(playerID, true)
if needsData then
    -- Wait for OnPersonaStateChange callback
end
Friends.SendClanChatMessage(steamIDClanChat, pchText)

🤖 Auto-generated binding

Parameters:
  • steamIDClanChat (uint64 - CSteamID) –

  • pchText (str?) –

Returns:

(bool) Return value

SteamWorks:

SendClanChatMessage

Example:

Steam.Friends.SendClanChatMessage(clanChatID, 'Hello clan!')
Friends.SetInGameVoiceSpeaking(steamIDUser, bSpeaking)

🤖 Auto-generated binding

Parameters:
  • steamIDUser (uint64 - CSteamID) –

  • bSpeaking (bool) –

SteamWorks:

SetInGameVoiceSpeaking

Example:

-- Notify Steam that this user is speaking in-game
Steam.Friends.SetInGameVoiceSpeaking(Steam.User.GetSteamID(), true)
Friends.SetListenForFriendsMessages(bInterceptEnabled)

🤖 Auto-generated binding

Parameters:

bInterceptEnabled (bool) –

Returns:

(bool) Return value

SteamWorks:

SetListenForFriendsMessages

Example:

-- Enable friend message interception
Steam.Friends.SetListenForFriendsMessages(true)
Friends.SetPlayedWith(steamIDUserPlayedWith)

🤖 Auto-generated binding

Parameters:

steamIDUserPlayedWith (uint64 - CSteamID) –

SteamWorks:

SetPlayedWith

Example:

for _, playerID in ipairs(currentPlayers) do
    Steam.Friends.SetPlayedWith(playerID)
end
Friends.SetRichPresence(pchKey, pchValue)

🤖 Auto-generated binding

Parameters:
  • pchKey (str?) – The Rich Presence key to set

  • pchValue (str?) – The value to associate with the key

Returns:

(bool) Return value

SteamWorks:

SetRichPresence

Sets a Rich Presence key/value for the current user that is shared with friends.

Example:

Steam.Friends.SetRichPresence('steam_display', '#StatusWithScore')
Steam.Friends.SetRichPresence('score', tostring(myScore))

Callbacks

Friends.OnPersonaStateChange()

Callback for PersonaStateChange_t

callback(data) receives:

  • data.m_ulSteamID (uint64)

  • data.m_nChangeFlags (int)

Example:

function Steam.Friends.OnPersonaStateChange(data)
    local name = Steam.Friends.GetFriendPersonaName(data.m_ulSteamID)
    print('Persona changed for:', name)
end
Friends.OnGameOverlayActivated()

Callback for GameOverlayActivated_t

callback(data) receives:

  • data.m_bActive (int)

  • data.m_bUserInitiated (bool)

  • data.m_nAppID (int - AppId_t)

  • data.m_dwOverlayPID (int)

Example:

function Steam.Friends.OnGameOverlayActivated(data)
    if data.m_bActive == 1 then
        print('Game overlay opened, pausing game')
    else
        print('Game overlay closed, resuming game')
    end
end
Friends.OnGameServerChangeRequested()

Callback for GameServerChangeRequested_t

callback(data) receives:

  • data.m_rgchServer (string)

  • data.m_rgchPassword (string)

Example:

function Steam.Friends.OnGameServerChangeRequested(data)
    print('Friend invites you to server:', data.m_rgchServer)
    connectToServer(data.m_rgchServer, data.m_rgchPassword)
end
Friends.OnGameLobbyJoinRequested()

Callback for GameLobbyJoinRequested_t

callback(data) receives:

  • data.m_steamIDLobby (uint64 - CSteamID)

  • data.m_steamIDFriend (uint64 - CSteamID)

Example:

function Steam.Friends.OnGameLobbyJoinRequested(data)
    Steam.Matchmaking.JoinLobby(data.m_steamIDLobby, function(result, err)
        if not err and result.m_EChatRoomEnterResponse == 1 then
            print('Joined lobby from friend invite')
        end
    end)
end
Friends.OnAvatarImageLoaded()

Callback for AvatarImageLoaded_t

callback(data) receives:

  • data.m_steamID (uint64 - CSteamID)

  • data.m_iImage (int)

  • data.m_iWide (int)

  • data.m_iTall (int)

Example:

function Steam.Friends.OnAvatarImageLoaded(data)
    local w, h = Steam.Utils.GetImageSize(data.m_iImage)
    local _, rgba = Steam.Utils.GetImageRGBA(data.m_iImage, w * h * 4)
    updateAvatarTexture(data.m_steamID, rgba, w, h)
end
Friends.OnClanOfficerListResponse()

Callback for ClanOfficerListResponse_t

callback(data) receives:

  • data.m_steamIDClan (uint64 - CSteamID)

  • data.m_cOfficers (int)

  • data.m_bSuccess (int)

Friends.OnFriendRichPresenceUpdate()

Callback for FriendRichPresenceUpdate_t

callback(data) receives:

  • data.m_steamIDFriend (uint64 - CSteamID)

  • data.m_nAppID (int - AppId_t)

Example:

function Steam.Friends.OnFriendRichPresenceUpdate(data)
    local status = Steam.Friends.GetFriendRichPresence(data.m_steamIDFriend, 'status')
    print('Friend presence updated:', status)
end
Friends.OnGameRichPresenceJoinRequested()

Callback for GameRichPresenceJoinRequested_t

callback(data) receives:

  • data.m_steamIDFriend (uint64 - CSteamID)

  • data.m_rgchConnect (string)

Example:

function Steam.Friends.OnGameRichPresenceJoinRequested(data)
    local connect_string = data.m_rgchConnect
    initiateJoinGame(connect_string)
end
Friends.OnGameConnectedClanChatMsg()

Callback for GameConnectedClanChatMsg_t

callback(data) receives:

  • data.m_steamIDClanChat (uint64 - CSteamID)

  • data.m_steamIDUser (uint64 - CSteamID)

  • data.m_iMessageID (int)

Friends.OnGameConnectedChatJoin()

Callback for GameConnectedChatJoin_t

callback(data) receives:

  • data.m_steamIDClanChat (uint64 - CSteamID)

  • data.m_steamIDUser (uint64 - CSteamID)

Friends.OnGameConnectedChatLeave()

Callback for GameConnectedChatLeave_t

callback(data) receives:

  • data.m_steamIDClanChat (uint64 - CSteamID)

  • data.m_steamIDUser (uint64 - CSteamID)

  • data.m_bKicked (bool)

  • data.m_bDropped (bool)

Friends.OnDownloadClanActivityCountsResult()

Callback for DownloadClanActivityCountsResult_t

callback(data) receives:

  • data.m_bSuccess (bool)

Friends.OnJoinClanChatRoomCompletionResult()

Callback for JoinClanChatRoomCompletionResult_t

callback(data) receives:

  • data.m_steamIDClanChat (uint64 - CSteamID)

  • data.m_eChatRoomEnterResponse (int - EChatRoomEnterResponse)

Friends.OnGameConnectedFriendChatMsg()

Callback for GameConnectedFriendChatMsg_t

callback(data) receives:

  • data.m_steamIDUser (uint64 - CSteamID)

  • data.m_iMessageID (int)

Example:

function Steam.Friends.OnGameConnectedFriendChatMsg(data)
    local msg, chatType = Steam.Friends.GetFriendMessage(data.m_steamIDUser, data.m_iMessageID, 512)
    print('Friend chat:', msg)
end
Friends.OnFriendsGetFollowerCount()

Callback for FriendsGetFollowerCount_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_steamID (uint64 - CSteamID)

  • data.m_nCount (int)

Friends.OnFriendsIsFollowing()

Callback for FriendsIsFollowing_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_steamID (uint64 - CSteamID)

  • data.m_bIsFollowing (bool)

Friends.OnFriendsEnumerateFollowingList()

Callback for FriendsEnumerateFollowingList_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_rgSteamID (uint64[] - CSteamID)

  • data.m_nResultsReturned (int)

  • data.m_nTotalResultCount (int)

Friends.OnUnreadChatMessagesChanged()

Callback for UnreadChatMessagesChanged_t

callback(data) receives no fields (notification only).

Example:

function Steam.Friends.OnUnreadChatMessagesChanged()
    local count = Steam.Friends.GetNumChatsWithUnreadPriorityMessages()
    if count > 0 then
        print('You have', count, 'unread priority messages')
    end
end
Friends.OnOverlayBrowserProtocolNavigation()

Callback for OverlayBrowserProtocolNavigation_t

callback(data) receives:

  • data.rgchURI (string)

Friends.OnEquippedProfileItemsChanged()

Callback for EquippedProfileItemsChanged_t

callback(data) receives:

  • data.m_steamID (uint64 - CSteamID)

Friends.OnEquippedProfileItems()

Callback for EquippedProfileItems_t

callback(data) receives:

  • data.m_eResult (int - EResult)

  • data.m_steamID (uint64 - CSteamID)

  • data.m_bHasAnimatedAvatar (bool)

  • data.m_bHasAvatarFrame (bool)

  • data.m_bHasProfileModifier (bool)

  • data.m_bHasProfileBackground (bool)

  • data.m_bHasMiniProfileBackground (bool)

  • data.m_bFromCache (bool)