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:
Example:
Steam.Friends.ActivateGameOverlay('stats')
- Friends.ActivateGameOverlayInviteDialog(steamIDLobby)
🤖 Auto-generated binding
- Parameters:
steamIDLobby (uint64 - CSteamID) –
- SteamWorks:
Example:
-- Open the Steam overlay invite dialog for a lobby
Steam.Friends.ActivateGameOverlayInviteDialog(lobbyID)
- Friends.ActivateGameOverlayInviteDialogConnectString(pchConnectString)
🤖 Auto-generated binding
- Parameters:
pchConnectString (str?) –
- SteamWorks:
- Friends.ActivateGameOverlayRemotePlayTogetherInviteDialog(steamIDLobby)
🤖 Auto-generated binding
- Parameters:
steamIDLobby (uint64 - CSteamID) –
- SteamWorks:
- Friends.ActivateGameOverlayToStore(nAppID, eFlag)
🤖 Auto-generated binding
- Parameters:
nAppID (int - AppId_t) –
eFlag (int - EOverlayToStoreFlag) –
- SteamWorks:
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:
Example:
Steam.Friends.ActivateGameOverlayToUser('steamid', friendSteamID)
- Friends.ActivateGameOverlayToWebPage(pchURL, eMode)
🤖 Auto-generated binding
- Parameters:
pchURL (str?) –
eMode (int - EActivateGameOverlayToWebPageMode) –
- SteamWorks:
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:
- Friends.ClearRichPresence()
🤖 Auto-generated binding
- SteamWorks:
Example:
Steam.Friends.ClearRichPresence()
- Friends.CloseClanChatWindowInSteam(steamIDClanChat)
🤖 Auto-generated binding
- Parameters:
steamIDClanChat (uint64 - CSteamID) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.DownloadClanActivityCounts(cClansToRequest, callback)
🤖 Auto-generated binding
- Parameters:
cClansToRequest (int?) – size of the buffer to allocate for
psteamIDClans. Ifnilthen the buffer will beNULL.callback (function) – CallResult callback receiving struct
DownloadClanActivityCountsResult_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- Returns:
(uint64[])
psteamIDClans- SteamWorks:
Signature differences from C++ API:
Parameter
psteamIDClansis 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:
unStartIndex (int) –
callback (function) – CallResult callback receiving struct
FriendsEnumerateFollowingList_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
- Friends.GetChatMemberByIndex(steamIDClan, iUser)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
iUser (int) –
- Returns:
(uint64 - CSteamID) Return value
- SteamWorks:
- Friends.GetClanActivityCounts(steamIDClan)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
- Returns:
(bool) Return value
- Returns:
(int)
pnOnline- Returns:
(int)
pnInGame- Returns:
(int)
pnChatting- SteamWorks:
Signature differences from C++ API:
Parameter
pnOnlineis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pnInGameis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pnChattingis 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:
Notes:
See
Friends.GetClanCount()’s example.
- Friends.GetClanChatMemberCount(steamIDClan)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
- Friends.GetClanChatMessage(steamIDClanChat, iMessage, cchTextMax)
🤖 Auto-generated binding
- Parameters:
steamIDClanChat (uint64 - CSteamID) –
iMessage (int) –
cchTextMax (int?) – size of the buffer to allocate for
prgchText. Ifnilthen the buffer will beNULL.
- Returns:
(int) Return value
- Returns:
(str)
prgchText- Returns:
(int)
peChatEntryType- Returns:
(uint64)
psteamidChatter- SteamWorks:
Signature differences from C++ API:
Parameter
prgchTextis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
peChatEntryTypeis not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
psteamidChatteris 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:
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:
Notes:
See
Friends.GetClanCount()’s example.
- Friends.GetClanOfficerByIndex(steamIDClan, iOfficer)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
iOfficer (int) –
- Returns:
(uint64 - CSteamID) Return value
- SteamWorks:
Notes:
See
Friends.GetClanOfficerCount()’s example.
- Friends.GetClanOfficerCount(steamIDClan)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
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:
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:
- Friends.GetCoplayFriend(iCoplayFriend)
🤖 Auto-generated binding
- Parameters:
iCoplayFriend (int) –
- Returns:
(uint64 - CSteamID) Return value
- SteamWorks:
- Friends.GetCoplayFriendCount()
🤖 Auto-generated binding
- Returns:
(int) Return value
- SteamWorks:
- Friends.GetFollowerCount(steamID, callback)
🤖 Auto-generated binding
- Parameters:
steamID (uint64 - CSteamID) –
callback (function) – CallResult callback receiving struct
FriendsGetFollowerCount_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
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:
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:
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:
- Friends.GetFriendCount(iFriendFlags)
🤖 Auto-generated binding
- Parameters:
iFriendFlags (int) –
- Returns:
(int) Return value
- SteamWorks:
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:
- Friends.GetFriendFromSourceByIndex(steamIDSource, iFriend)
🤖 Auto-generated binding
- Parameters:
steamIDSource (uint64 - CSteamID) –
iFriend (int) –
- Returns:
(uint64 - CSteamID) Return value
- SteamWorks:
- Friends.GetFriendGamePlayed(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(bool) Return value
- Returns:
(FriendGameInfo_t)
pFriendGameInfo- SteamWorks:
Signature differences from C++ API:
Parameter
pFriendGameInfois 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. Ifnilthen the buffer will beNULL.
- Returns:
(int) Return value
- Returns:
(str)
pvData- Returns:
(int)
peChatEntryType- SteamWorks:
Signature differences from C++ API:
Parameter
pvDatais not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
peChatEntryTypeis 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:
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:
- Friends.GetFriendPersonaState(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(int - EPersonaState) Return value
- SteamWorks:
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:
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:
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:
Notes:
See
Friends.GetFriendRichPresenceKeyCount()’s example.
- Friends.GetFriendRichPresenceKeyCount(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
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:
Example:
local level = Steam.Friends.GetFriendSteamLevel(friendID)
print('Friend Steam level:', level)
- Friends.GetFriendsGroupCount()
🤖 Auto-generated binding
- Returns:
(int) Return value
- SteamWorks:
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:
Notes:
See
Friends.GetFriendsGroupCount()’s example.
- Friends.GetFriendsGroupMembersCount(friendsGroupID)
🤖 Auto-generated binding
- Parameters:
friendsGroupID (int - FriendsGroupID_t) –
- Returns:
(int) Return value
- SteamWorks:
- Friends.GetFriendsGroupMembersList(friendsGroupID, nMembersCount)
🤖 Auto-generated binding
- Parameters:
friendsGroupID (int - FriendsGroupID_t) –
nMembersCount (int?) – size of the buffer to allocate for
pOutSteamIDMembers. Ifnilthen the buffer will beNULL.
- Returns:
(uint64[])
pOutSteamIDMembers- SteamWorks:
Signature differences from C++ API:
Parameter
pOutSteamIDMembersis 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:
Notes:
See
Friends.GetFriendsGroupCount()’s example.
- Friends.GetLargeFriendAvatar(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
Notes:
See
Friends.GetSmallFriendAvatar()’s example.
- Friends.GetMediumFriendAvatar(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
Notes:
See
Friends.GetSmallFriendAvatar()’s example.
- Friends.GetNumChatsWithUnreadPriorityMessages()
🤖 Auto-generated binding
- Returns:
(int) Return value
- SteamWorks:
- Friends.GetPersonaName()
🤖 Auto-generated binding
- Returns:
(str) Return value
- SteamWorks:
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:
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:
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:
- Friends.GetProfileItemPropertyUint(steamID, itemType, prop)
🤖 Auto-generated binding
- Parameters:
steamID (uint64 - CSteamID) –
itemType (int - ECommunityProfileItemType) –
prop (int - ECommunityProfileItemProperty) –
- Returns:
(int) Return value
- SteamWorks:
- Friends.GetSmallFriendAvatar(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- Returns:
(int) Return value
- SteamWorks:
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:
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:
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:
- Friends.IsClanChatWindowOpenInSteam(steamIDClanChat)
🤖 Auto-generated binding
- Parameters:
steamIDClanChat (uint64 - CSteamID) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.IsClanOfficialGameGroup(steamIDClan)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.IsClanPublic(steamIDClan)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.IsFollowing(steamID, callback)
🤖 Auto-generated binding
- Parameters:
steamID (uint64 - CSteamID) –
callback (function) – CallResult callback receiving struct
FriendsIsFollowing_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
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:
- Friends.JoinClanChatRoom(steamIDClan, callback)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
callback (function) – CallResult callback receiving struct
JoinClanChatRoomCompletionResult_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
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:
- Friends.OpenClanChatWindowInSteam(steamIDClanChat)
🤖 Auto-generated binding
- Parameters:
steamIDClanChat (uint64 - CSteamID) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.RegisterProtocolInOverlayBrowser(pchProtocol)
🤖 Auto-generated binding
- Parameters:
pchProtocol (str?) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.ReplyToFriendMessage(steamIDFriend, pchMsgToSend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
pchMsgToSend (str?) –
- Returns:
(bool) Return value
- SteamWorks:
- Friends.RequestClanOfficerList(steamIDClan, callback)
🤖 Auto-generated binding
- Parameters:
steamIDClan (uint64 - CSteamID) –
callback (function) – CallResult callback receiving struct
ClanOfficerListResponse_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
- Friends.RequestEquippedProfileItems(steamID, callback)
🤖 Auto-generated binding
- Parameters:
steamID (uint64 - CSteamID) –
callback (function) – CallResult callback receiving struct
EquippedProfileItems_tand a boolean
- Returns:
(uint64)
SteamAPICall_thandle for this async call. The result is delivered via thecallbackparameter whenSteam.RunCallbacks()is called.- SteamWorks:
- Friends.RequestFriendRichPresence(steamIDFriend)
🤖 Auto-generated binding
- Parameters:
steamIDFriend (uint64 - CSteamID) –
- SteamWorks:
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:
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:
Example:
Steam.Friends.SendClanChatMessage(clanChatID, 'Hello clan!')
- Friends.SetInGameVoiceSpeaking(steamIDUser, bSpeaking)
🤖 Auto-generated binding
- Parameters:
steamIDUser (uint64 - CSteamID) –
bSpeaking (bool) –
- SteamWorks:
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:
Example:
-- Enable friend message interception
Steam.Friends.SetListenForFriendsMessages(true)
- Friends.SetPlayedWith(steamIDUserPlayedWith)
🤖 Auto-generated binding
- Parameters:
steamIDUserPlayedWith (uint64 - CSteamID) –
- SteamWorks:
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:
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
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)