WoW:API GetFriendInfo: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
m (Move page script moved page API GetFriendInfo to API GetFriendInfo without leaving a redirect)
 
(12 intermediate revisions by 12 users not shown)
Line 1: Line 1:
<center>'''GetFriendInfo''' ''-Documentation by [[user:Author|IonDefender]]-''</center>
{{wowapi}} __NOTOC__
Retrieves information about a person on your friends list.
name, level, class, area, connected, status, note = GetFriendInfo(friendIndex);


<!-- List return values and arguments as well as function name, follow Blizzard usage convention for args -->
== Parameters ==
=== Arguments ===
:;friendIndex
:: Integer - Index of friend in the friend list (Note that status changes can re-order the friend list, indexes are not guaranteed to remain stable across events) (Also note that index should not be greater than 50 [see Notes]).


name, level, class, area, connected = GetFriendInfo(friendIndex);
=== Returns ===
:;name
:: String - Friend's name, or nil (if index is invalid)
:;level
:: Integer - Friend's level, or 0 (if offline/invalid).
:;class
:: String - Friend's class, or "Unknown" (if offline/invalid).
:;area
:: String - Friend's current location, or "Unknown" (if offline/invalid).
:;connected
:: Boolean - 1 if friend is online, nil otherwise.
:;
:;status
:: String - Friend's current status flags (AFK or DND).
:;note
:: String - Friend's note.


<!-- Describe the purpose of the function, though exhausting detail can be saved for a later section -->
== Example ==
This example is pre-2.4 and thus doesn't utilize the friend note.
local name, level, class, loc, connected, status = GetFriendInfo(1);
if (name) then
  DEFAULT_CHAT_FRAME:AddMessage("Your "..status.." friend "..name.." (The level "..level.." "..class..") is in "..loc..".");
else
  DEFAULT_CHAT_FRAME:AddMessage("You have no friends?!");
end
===Result===
Your <AFK> friend Bill (The level 99 Leprechaun) is in Neverland.


Gets the name, level, class, and location of your friends
==Notes==
Friend information isn't necessarily automatically kept up to date. You can use the [[API ShowFriends|ShowFriends]] function to request an update from the server.


----
;''Arguments''


:(friendIndex) : Int - Index of friend (Does not appear to be the exact order they appear in the friends list as online friends are sorted to the top but always have the same index)
Do not use indexes greater than 50 (the maximum number of friend list entries)!


----
With some AddOns installed the client may crash after typing "/script GetFriendInfo(51)" (especially if FlagRSP is activated).
;''Returns''


:name, level, class, area, connected
This crash leads to ERROR #132 (memory could not be "read").


Please use GetNumFriends() to iterate over all indexes securely.


:;name : String - Friends name.
== References ==
:;level : String - Friends level. If unknown returns 0, but sometimes 1 (can someone else test this)
{{Elink|icon=wowus|link=http://forums.worldofwarcraft.com/thread.html?topicId=5835557417#1|site="ACTUAL API Changes - 2.3.3 to 2.4.1" - Forum post by Iriel (UI and Macros Forum MVP)}}
::looks like this is 1 when arg1 is out of bounds (e.g., 0) --[[User:Topaz|Topaz]] 22:37, 12 Mar 2005 (EST)
:;class : String - Friends class. If unknown returns "Unknown"
:;area : String - Friends current location. If unknown returns "Unknown"
:;connected : Boolean - Whether or not the friend is currently online
 
----
;''Example''
<!-- If it helps, include an example here, though it's not required if the usage is self-explanatory -->
local num1, num2, num3, num4 = GetFriendInfo(1);
DEFAULT_CHAT_FRAME:AddMessage("Your friend "..num1.." (The level "..num2.." "..num3..") is in "..num4..".");
 
;''Result''
<!-- If it helps, include example results here, though they are not required-->
Your friend Bill (The level 99 Leprechaun) is in Neverland.
 
----
{{Template:WoW API}}
<!-- Update the category to the appropriate subsection, and be sure to put the function name as the label for the category link. Multiple subcategories are okay if appropriate, please dont link functions to the API Functions category directly. -->
[[Category:API Functions|Empty Template]]

Latest revision as of 04:45, 15 August 2023

WoW API < GetFriendInfo

Retrieves information about a person on your friends list.

name, level, class, area, connected, status, note = GetFriendInfo(friendIndex);

Parameters[edit]

Arguments[edit]

friendIndex
Integer - Index of friend in the friend list (Note that status changes can re-order the friend list, indexes are not guaranteed to remain stable across events) (Also note that index should not be greater than 50 [see Notes]).

Returns[edit]

name
String - Friend's name, or nil (if index is invalid)
level
Integer - Friend's level, or 0 (if offline/invalid).
class
String - Friend's class, or "Unknown" (if offline/invalid).
area
String - Friend's current location, or "Unknown" (if offline/invalid).
connected
Boolean - 1 if friend is online, nil otherwise.
status
String - Friend's current status flags (AFK or DND).
note
String - Friend's note.

Example[edit]

This example is pre-2.4 and thus doesn't utilize the friend note.

local name, level, class, loc, connected, status = GetFriendInfo(1);
if (name) then
 DEFAULT_CHAT_FRAME:AddMessage("Your "..status.." friend "..name.." (The level "..level.." "..class..") is in "..loc..".");
else
 DEFAULT_CHAT_FRAME:AddMessage("You have no friends?!");
end

Result[edit]

Your <AFK> friend Bill (The level 99 Leprechaun) is in Neverland.

Notes[edit]

Friend information isn't necessarily automatically kept up to date. You can use the ShowFriends function to request an update from the server.


Do not use indexes greater than 50 (the maximum number of friend list entries)!

With some AddOns installed the client may crash after typing "/script GetFriendInfo(51)" (especially if FlagRSP is activated).

This crash leads to ERROR #132 (memory could not be "read").

Please use GetNumFriends() to iterate over all indexes securely.

References[edit]