WoW:API GetFriendInfo: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (Updated index description, added details.)
m (Move page script moved page API GetFriendInfo to API GetFriendInfo without leaving a redirect)
 
(9 intermediate revisions by 9 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);


Gets the name, level, class, location and status of a friend
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 in the friend list (Note that status changes can re-order the friend list, indexes are not guaranteed to remain stable across events)
=== Returns ===
=== Returns ===
:name, level, class, area, connected
:;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.


:;name : String - Friend's name ("Unknown" if index is out of bounds.)
:;level : Integer - Friend's level (0 if player is not online, 1 if index is out of bounds (confirmed by [[User:Topaz|Topaz]] 22:37, 12 Mar 2005 (EST))
:;class : String - Friend's class ("Unknown" if index is out of bounds or friend is offline).
:;area : String - Friend's current location ("Unknown" if index is out of bounds or friend is offline).
:;connected : Flag - 1 if friend is online, nil if not online (or index out of bounds).
== Example ==
== Example ==
<!-- begin code -->
This example is pre-2.4 and thus doesn't utilize the friend note.
  local name, level, class, loc = GetFriendInfo(1);
  local name, level, class, loc, connected, status = GetFriendInfo(1);
  DEFAULT_CHAT_FRAME:AddMessage("Your friend "..name.." (The level "..level.." "..class..") is in "..loc..".");
  if (name) then
<!-- end code -->
  DEFAULT_CHAT_FRAME:AddMessage("Your "..status.." friend "..name.." (The level "..level.." "..class..") is in "..loc..".");
==== Result ====
else
<!-- begin code -->
  DEFAULT_CHAT_FRAME:AddMessage("You have no friends?!");
Your friend Bill (The level 99 Leprechaun) is in Neverland.
end
<!-- end code -->
===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.
 
 
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").


== Details ==
Please use GetNumFriends() to iterate over all indexes securely.
: 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.


----
== 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 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]