WoW:API GetFriendInfo: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
mNo edit summary
m (Move page script moved page API GetFriendInfo to API GetFriendInfo without leaving a redirect)
 
(10 intermediate revisions by 10 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.
Gets the name, level, class, and location of your friends
  name, level, class, area, connected, status, note = GetFriendInfo(friendIndex);
 
  name, level, class, area, connected = GetFriendInfo(friendIndex);


== Parameters ==
== Parameters ==
=== Arguments ===
=== Arguments ===
:(friendIndex)
:;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]).


:;friendIndex : Integer - 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)
=== 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.


=== Returns ===
== Example ==
:name, level, class, area, connected
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.
 
==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.




:;name : String - Friends name.
Do not use indexes greater than 50 (the maximum number of friend list entries)!
:;level : Integer - Friends level. If unknown returns 0, but sometimes 1 (can someone else test this)
::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 ==
With some AddOns installed the client may crash after typing "/script GetFriendInfo(51)" (especially if FlagRSP is activated).


local num1, num2, num3, num4 = GetFriendInfo(1);
This crash leads to ERROR #132 (memory could not be "read").
DEFAULT_CHAT_FRAME:AddMessage("Your friend "..num1.." (The level "..num2.." "..num3..") is in "..num4..".");


====Result====
Please use GetNumFriends() to iterate over all indexes securely.
Your friend Bill (The level 99 Leprechaun) is in Neverland.


----
== References ==
__NOTOC__
{{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)}}
{{Template:WoW API}}
[[Category:API Functions|GetFriendInfo]]
[[Category:API Friend Functions|GetFriendInfo]]

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]