WoW:World of Warcraft API: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(374 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
__NOGALLERY__ __NONEWSECTIONLINK__ __NOWYSIWYG__ {{wowapi}}


This is the main reference page for the Lua based WoW UI API, and is available to user Macros and AddOns. This API is available during normal game play. See also [[World of Warcraft API/Glue|WoW Glue API]].
== Details ==
The '''World of Warcraft API''', or '''WoW API''', is a set of Lua functions and facilities provided by the Blizzard WoW Client, to allow interaction with the [[wowwiki:World of Warcraft|World of Warcraft]] and its user interface. The list below is incomplete, and kept up to date through user contributions. See also the [[Global functions|an automatically-generated exhaustive list]] of all API functions present in the latest live client.
For beginners, [[AddOn]] contains a number of very informative sources to help get you started. You can also [[Viewing Blizzard's WoW user interface code|examine the existing UI code]] to find examples of how the various functions are used by the default UI.
== Reference ==
Global API functions for WoW in Lua.
* [[API types]] - variable value types, used here as parameters and return values.
'''If you're contributing documentation, please read [[AddOn Studio Wiki:How to edit API pages|How to edit API pages]].'''
Function names can be prefixed with the following tags, see [[AddOn Studio Wiki:API notation and conventions|API notation and conventions]]:
* PROTECTED - can only be called from [[secure code]]. See [[:Category:World of Warcraft API/Protected Functions|Protected Functions]].
* NOCOMBAT - can only be called from [[secure code]] while out of combat.
* HW - may only be called in response to a hardware event, like from OnClick handlers.
* UI - is implemented in Lua in [[:Category:FrameXML documentation|FrameXML]], but was important enough to appear here.
* DEPRECATED - is planned to no longer be used, and more than likely removed in future version.
* REMOVED - was removed from the API. should be moved from here to [[:Category:World of Warcraft API/Removed Functions|Removed Functions]].
Calling functions via macro or command line:
/run BNSetMatureLanguageFilter(true)
/run local x=GetAccountExpansionLevel(); SendChatMessage(x)
=== Account ===
:{{id|API|GetAccountExpansionLevel}}() - Returns registered expansion. (0=WoW, 1=BC, 2=WotLK, 3=Cata, 4=Mists, 5=Warlords, 6=Legion, 7=BfA, 8=Shadowlands)
These functions only return meaningful values on Asian realms; all three relate to the play time limitation system.
:{{id|API|GetBillingTimeRested}}() - returns the time spent logged in current billing unit.
:{{id|API|PartialPlayTime}}() - returns 1 if the player is currently "tired": reduced XP, loot.
:{{id|API|NoPlayTime}}() - returns 1 if the player is currently "unhealthy": no XP, loot.
=== Achievement ===
These functions are only available in Patch 3.0.
:{{id|API|AddTrackedAchievement}}(achievementId) - Add an achievement to tracking.
:{{id|API|CanShowAchievementUI}}() - Returns if the AchievementUI can be displayed
:{{id|API|ClearAchievementComparisonUnit}}() - Remove the unit being compared.
:{{id|API|GetAchievementCategory}}(achievementID) - Return the category number of the requested achievement.
:{{id|API|GetAchievementComparisonInfo}}(achievementID, comparisonNum) - Returns status of achievement for comparison player.
:{{id|API|GetAchievementCriteriaInfo}}(achievementID, criteriaIndex) - Returns information about the requested criteria.
:{{id|API|GetAchievementCriteriaInfoByID}}(achievementID, criteriaID) - Returns information about the requested criteria. (added 5.0.4)
:{{id|API|GetAchievementInfo}}(achievementID) or (category, offset) - Returns information about the requested Achievement.
:{{id|API|GetAchievementInfoFromCriteria}}(id) - Returns information about the requested Achievement.
:{{id|API|GetAchievementLink}}(achievementID) - Returns a [[achievementLink]] for the specified Achievement.
:{{id|API|GetAchievementNumCriteria}}(achievementID) - Return the number of criteria the requested Achievement has.
:{{id|API|GetAchievementNumRewards}}(achievementID) - Return the number of rewards the requested Achievement has.
:{{id|API|GetCategoryInfo}}(category) - Return information about the requested category
:{{id|API|GetCategoryList}}() - Returns the list of Achievement categories.
:{{id|API|GetCategoryNumAchievements}}(category) - Return the total Achievements and number completed for the specific category.
:{{id|API|GetComparisonAchievementPoints}}() - Return the total number of achievement points the comparison unit has earned.
:{{id|API|GetComparisonCategoryNumAchievements}}(achievementID)
:{{id|API|GetComparisonStatistic}}(achievementID) - Return the value of the requested statistic for the comparison player.
:{{id|API|GetLatestCompletedAchievements}}() - Return the ID's of the last 5 completed Achievements.
:{{id|API|GetLatestCompletedComparisonAchievements}}()
:{{id|API|GetLatestUpdatedComparisonStats}}()
:{{id|API|GetLatestUpdatedStats}}() - Return the ID's of the last 5 updated Statistics.
:{{id|API|GetNextAchievement}}(achievementID)
:{{id|API|GetNumComparisonCompletedAchievements}}()
:{{id|API|GetNumCompletedAchievements}}([guildOnly]) - Returns total and completed number of achievements, or only guild.
:{{id|API|GetPreviousAchievement}}(achievementID) - Return previous related achievements.
:{{id|API|GetStatistic}}(achievementID) - Return the value of the requested statistic.
:{{id|API|GetStatisticsCategoryList}}() - Returns the list of Statistic categories.
:{{id|API|GetTotalAchievementPoints}}([guildOnly]) - Return the total, or only guild, achievement points earned.
:{{id|API|GetTrackedAchievements}}() - Return the AchievementID of the currently tracked achievements
:{{id|API|GetNumTrackedAchievements}}() - Return the total number of the currently tracked achievements
:{{id|API|RemoveTrackedAchievement}}(achievementID) - Stops an achievement from being tracked
:{{id|API|SetAchievementComparisonUnit}}(unitId) - Set the unit to be compared to.
=== Action ===
These functions are those which operate with the action buttons. See [[#Activity]] section for general player actions.
:PROTECTED UI {{id|API|ActionButtonDown}}(id) - Press the specified action button. (protected 2.0)
:PROTECTED UI {{id|API|ActionButtonUp}}(id) - Release the specified action button. (protected 2.0)
:{{id|API|ActionHasRange}}(slot) - Determine if the specified action is a range restriction [1 if yes, nil if no]
:UI {{id|API|BonusActionButtonDown}} - Trigger the specified bonus(pet or minion) action button.
:UI {{id|API|BonusActionButtonUp}} - Release the specified bonus(pet or minion) action button.
:PROTECTED {{id|API|CameraOrSelectOrMoveStart}}() - Begin "Left click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|CameraOrSelectOrMoveStop}}([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
:NOCOMBAT {{id|API|ChangeActionBarPage}}(page) - Changes the current action bar page.
:{{id|API|GetActionBarPage}}() - Return the current action bar page. CURRENT_ACTIONBAR_PAGE is obsolete.
:{{id|API|GetActionBarToggles}}() - Return the toggles for each action bar.
:{{id|API|GetActionCooldown}}(slot) - This returns the cooldown values of the specified action..
:{{id|API|GetActionCount}}(slot) - Get the count (bandage/potion/etc) for an action, returns 0 if none or not applicable.
:{{id|API|GetActionInfo}}(slot) - Returns type, id, subtype.
:{{id|API|GetActionText}}(slot) - Get the text label (macros, etc) for an action, returns nil if none.
:{{id|API|GetActionTexture}}(slot) - Gets the texture path for the specified action.
:{{id|API|GetBonusBarOffset}}() - Determine which page of bonus actions to show.
:{{id|API|GetMouseButtonClicked}}() - Returns the name of the button that triggered a mouse down/up/click/doubleclick event. (added 2.0.3)
:{{id|API|GetMultiCastBarOffset}}() - Returns the page offset of the multicast action IDs (added 3.2)
:{{id|API|GetPossessInfo}}(index) - Returns texture, name, enabled.
:{{id|API|HasAction}}(slot) - Returns 1 if the player has an action in the specified slot, nil otherwise.
:{{id|API|IsActionInRange}}(slot,[unit]) - Test if an action is in range (1=yes, 0=no, nil=not applicable).
:{{id|API|IsAttackAction}}(slot) - Return 1 if an action is an 'attack' action (flashes during combat), nil otherwise.
:{{id|API|IsAutoRepeatAction}}(slot) - Return 1 if an action is auto-repeating, nil otherwise.
:{{id|API|IsCurrentAction}}(slot) - Return 1 if an action is the one currently underway, nil otherwise.
:{{id|API|IsConsumableAction}}(slot) - Return 1 if an action is consumable (i.e. has a count), nil otherwise.
:{{id|API|IsEquippedAction}}(slot) - Return 1 if an action is equipped (i.e. connected to an item that must be equipped), nil otherwise.
:{{id|API|IsUsableAction}}(slot) - Return 1 if an action can be used at present, nil otherwise.
:{{id|API|PetHasActionBar}}() - Determine if player has a pet with an action bar.
:NOCOMBAT {{id|API|PickupAction}}(slot) - Drags an action out of the specified quickbar slot and holds it on the cursor.
:NOCOMBAT {{id|API|PickupPetAction}}(slot) - Drags an action from the specified pet action bar slot into the cursor.
:{{id|API|PlaceAction}}(slot) - Drops an action from the cursor into the specified quickbar slot.
:{{id|API|SetActionBarToggles}}(show1,show2,show3,show4[, alwaysShow]) - Set show toggle for each action bar - 'alwaysShow' (added 1.12)
:{{id|API|StopAttack}}() - Turns off auto-attack, if currently active. Has no effect is the player does not currently have auto-attack active.
:PROTECTED {{id|API|TurnOrActionStart}}() - Begin "Right Click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|TurnOrActionStop}}() - End "Right Click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|UseAction}}(slot[, checkCursor[, onSelf]]) - This instructs the interface to use the action associated with the specified ID, optionally on the player, regardless of target. (protected 2.0)
=== Activity ===
These functions make the player do something, and which aren't covered elsewhere and aren't simply confirmation steps.
:{{id|API|AcceptDuel}}() - The player accepts the challenge to duel.
:PROTECTED {{id|API|AttackTarget}}() - Attacks the targetted unit.
:{{id|API|CancelDuel}}() - Refuse the invitation to fight a duel.
:{{id|API|CancelLogout}}() - Cancels the logout timer, from camping or quitting.
:{{id|API|ClearTutorials}}()
:{{id|API|CancelSummon}}() - Rejects a summon request.
:{{id|API|ConfirmSummon}}() - Accepts a summon request.
:PROTECTED {{id|API|DescendStop}}() - The player stops descending, while swimming or flying. (added 2.1)
:{{id|API|Dismount}}() - The player dismounts the current mount. (added 2.0.3)
:{{id|API|FlagTutorial}}("tutorial")
:{{id|API|ForceQuit}}() - Instantly quits the game, bypassing the timer.
:{{id|API|GetPVPTimer}}() - Returns the amount of time until your PvP flag fades.
:{{id|API|GetSummonConfirmAreaName}}() - Returns the name of the area you're being summoned to.
:{{id|API|GetSummonConfirmSummoner}}() - Returns the name of the player summoning you.
:{{id|API|GetSummonConfirmTimeLeft}}() - Returns the amount of time left before the pending summon expires.
:{{id|API|Logout}} - Logs the user out of the game.
:{{id|API|Quit}} - Quits the game, '''not''' the Lua script.
:{{id|API|RandomRoll}}(low, high) - Does a random roll between the two values.
:{{id|API|SetPVP}}(arg1) - Sets the players PVP mode (1 to enable, nil to toggle off eventually)
:PROTECTED {{id|API|SitStandOrDescendStart}}() - The player sits, stands, or descends (added 2.1)
:PROTECTED {{id|API|StartDuel}}("name") - Challenge someone to a duel, by name. (protected 2.0)
:{{id|API|TogglePVP}}() - Toggles PVP status
:{{id|API|ToggleSheath}}() - Toggles sheathed or unsheathed weapons.
:{{id|API|UseSoulstone}}() - Use an active soulstone to resurrect yourself after death. Also works for Shamans with Reincarnation available.
=== AddOn ===
:{{id|API|DisableAddOn}}(index or "AddOnName") - Disable the specified AddOn for subsequent sessions.
:{{id|API|DisableAllAddOns}}() - Disable all AddOns for subsequent sessions.
:{{id|API|EnableAddOn}}(index or "AddOnName") - Enable the specified AddOn for subsequent sessions.
:{{id|API|EnableAllAddOns}}() - Enable all AddOns for subsequent sessions.
:{{id|API|GetAddOnDependencies}}(index or "AddOnName") - Get dependency list for an AddOn.
:{{id|API|GetAddOnInfo}}(index or "AddOnName") - Get information about an AddOn.
:{{id|API|GetAddOnMetadata}}(index or "name", "variable") - Retrieve metadata from addon's TOC file.
:{{id|API|GetNumAddOns}}() - Get the number of user supplied AddOns.
:{{id|API|IsAddOnLoaded}}(index or "AddOnName") - Returns true if the specified AddOn is loaded.
:{{id|API|IsAddOnLoadOnDemand}}(index or "AddOnName") - Test whether an AddOn is load-on-demand.
:{{id|API|LoadAddOn}}(index or "AddOnName") - Request loading of a Load-On-Demand AddOn.
:{{id|API|ResetDisabledAddOns}}()
=== Archaeology ===
Functions for the Archaeology Profession. Added in 4.0.1 [[w:c:wowwiki:Cataclysm|Cataclysm]].
:{{id|API|CanSolveArtifact}}()
:{{id|API|GetArtifactInfoByRace}}(raceIndex, projectIndex)
:{{id|API|GetArtifactProgress}}()
:{{id|API|GetNumArtifactsByRace}}(index)
:{{id|API|GetSelectedArtifactInfo}}()
:{{id|API|IsArtifactCompletionHistoryAvailable}}() - Returns 1 if the player has completed at least one artifact, otherwise nil;
:{{id|API|ItemAddedToArtifact}}(index) - Returns true if an item is in the indicated artifact slot, otherwise false.
:{{id|API|RemoveItemFromArtifact}}(SlotID)
:{{id|API|RequestArtifactCompletionHistory}}()
:{{id|API|SocketItemToArtifact}}(SlotID)
=== Arena ===
:{{id|API|AcceptArenaTeam}}() - Accepts a pending Arena team invitation.
:{{id|API|ArenaTeamInviteByName}}(teamIndex, playerName) - Invites the specified player to the specified arena team.
:{{id|API|ArenaTeamSetLeaderByName}}(teamIndex, playerName) - Sets new Team Leader to the specified arena team.
:{{id|API|ArenaTeamLeave}}(teamIndex) - Leaves the specified arena team.
:{{id|API|ArenaTeamRoster}}(teamIndex) - Sends a request to the server to request the most recent information on a specific Arena Team that you are in.
:{{id|API|ArenaTeamUninviteByName}}(teamIndex, playerName) - Removes the specified played from the specified arena team.
:{{id|API|ArenaTeamDisband}}(teamIndex) - Disbands the arena team without any warning! Requires you to be the leader of the team. (added 2.1.3)
:{{id|API|DeclineArenaTeam}}() - Declines a pending Arena team invitation.
:{{id|API|GetArenaTeam}}(teamIndex) - Returns information regarding the players arena team, nil if the player is not in the passed team
:{{id|API|GetArenaTeamGdfInfo}}() - (added 3.0.8)
:{{id|API|GetArenaTeamRosterInfo}}(teamIndex, playerIndex) - Returns information regarding a player from the specified team. This requires a call to [[#ArenaTeamRoster]] you only need to do this when the player logins in, UI reloads will not effect the return.
:{{id|API|GetBattlefieldTeamInfo}}(index) - Gets info about a registered Arena Team at the end of an arena match.
:{{id|API|GetCurrentArenaSeason}}() - Gets the current Arena season.
:{{id|API|GetInspectArenaTeamData}}(index) - Retrieves all the data associated with the inspected player's arena team located at index.
:{{id|API|GetNumArenaTeamMembers}}(teamIndex[, showOffline]) - Gets the number of arena team members. This requires a call to [[#ArenaTeamRoster]] you only need to do this when the player logins in, UI reloads will not effect the return.
:{{id|API|GetPreviousArenaSeason}}() - Gets the previous Arena season.
:{{id|API|IsActiveBattlefieldArena}}() - Returns true if in an Arena Match, also Returns true for the second argument if it's a registered match.
:{{id|API|IsArenaTeamCaptain}}(teamIndex) - Returns a value based on whether the player is the arena team captain.
:{{id|API|IsInArenaTeam}}() - Returns true if you are a member of an arena team.
=== Auction ===
:{{id|API|CalculateAuctionDeposit}}(runTime, stackSize, numStacks) - Returns the required deposit for the current selling item given the specified duration (1=12h, 2=24h, 3=48h).
:{{id|API|CanCancelAuction}}(index) - Returns 1 if auction can be canceled.
:{{id|API|CancelSell}}() - Clears the auction house listing queue, not creating any additional auctions. (added 3.3.3)
:{{id|API|CanSendAuctionQuery}}() - Return 1 if auction search button would be active, nil otherwise.
:{{id|API|CancelAuction}}(index) - Cancel the specified auction (on the "owner" list).
:{{id|API|ClickAuctionSellItemButton}}() - Puts the currently 'picked up' item into the 'create auction' slot.
:{{id|API|CloseAuctionHouse}}() - Will close the AuctionFrame if opened.
:DEPRECATED {{id|API|GetAuctionHouseDepositRate}}() - Returns the deposit rate (percentage) for the currently open auction house. (obsolete by '[[#CalculateAuctionDeposit]]')
:{{id|API|GetAuctionInvTypes}}(classIndex, subclassIndex) - Returns types of subcategories items.
:{{id|API|GetAuctionItemClasses}}() - Returns major auction item categories.
:{{id|API|GetAuctionItemInfo}}("type", index) - Returns details about the specified auction item.
:{{id|API|GetAuctionItemLink}}("type", index) - Returns an [[itemLink]] for the specified auction item.
:{{id|API|GetAuctionItemSubClasses}}(classIndex) - Returns subcategories in the nth auction category.
:{{id|API|GetAuctionItemTimeLeft}}("type", index) - Returns the time left status of the specified auction item.
:{{id|API|GetAuctionSellItemInfo}}() - Returns information about the current selling item (or nil if none selected).
:DEPRECATED {{id|API|GetBidderAuctionItems}}([page]) - Returns details about an auction item on which the user is bidding (obsolete by '[[#CalculateAuctionDeposit]]("bidder", item)')
:{{id|API|GetNumAuctionItems}}("type") - Returns the size of the specified auction item list.
:DEPRECATED {{id|API|GetOwnerAuctionItems}}([page]) - Returns details about an auction item of which the user is the owner (obsolete by '[[#GetAuctionItemInfo]]("owner", item)')
:{{id|API|GetSelectedAuctionItem}}("type") - Returns the index (1-50) of the selected auction item or 0 if none is selected.
:{{id|API|IsAuctionSortReversed}}("type", "sort") - Returns 1 if the specified auction list and sort is reversed, nil otherwise.
:{{id|API|PlaceAuctionBid}}("type", index, bid) - Place a bid on the selected auction item.
:{{id|API|QueryAuctionItems}}("name", minLevel, maxLevel, invTypeIndex, classIndex, subclassIndex, page, isUsable, qualityIndex) - Performs a search of the auction house with the specified characteristics.
:{{id|API|SetAuctionsTabShowing}}(showing) - Sets whether auction-related events should be delivered to the client. (added 3.3.3)
:{{id|API|SetSelectedAuctionItem}}("type", index) - Selects a specific item in the auction house.
:{{id|API|SortAuctionItems}}("type", "sort") - Request that the specified auction list be sorted by a specific column.
:{{id|API|StartAuction}}(minBid, buyoutPrice, runTime, stackSize, numStacks) - Starts the auction you have created in the Create Auction panel.
:UI {{id|API|AuctionFrameAuctions|duration|t=member|f=1}} - Set the amount of time the auction will run for in minutes.
=== Bank ===
:{{id|API|BankButtonIDToInvSlotID}}(buttonID, isBag) - Returns the ID number of a bank button or bag in terms of inventory slot ID.
:{{id|API|CloseBankFrame}}() - Close the bank frame if it's open.
:{{id|API|GetBankSlotCost}}(numSlots) - Returns the cost of the next bank slot.
:{{id|API|GetNumBankSlots}}() - Returns total purchased bank bag slots, and a flag indicating if it's full.
:{{id|API|PurchaseSlot}}() - Buys another bank slot if available.
=== Barber Shop ===
These functions were introduced in 3.0.2.
:{{id|API|ApplyBarberShopStyle}}() - Purchase and apply the cosmetic changes.
:{{id|API|BarberShopReset}}() - Reset any changes made in the Barber Shop.
:{{id|API|CancelBarberShop}}() - Exit the Barber Shop chair.
:{{id|API|GetBarberShopStyleInfo}}(id) - Returns information about the currently selected style.
:{{id|API|GetBarberShopTotalCost}}() - Returns the total costs of the cosmetic changes.
:{{id|API|GetFacialHairCustomization}}() - Returns the type of facial hair customization available to the character.
:{{id|API|GetHairCustomization}}() - Returns the type of haircut customization available to the character.
:{{id|API|SetNextBarberShopStyle}}(id[, reverse]) - Alters style selection in a particular category.
=== Battlefield ===
:{{id|API|AcceptAreaSpiritHeal}}() - Accept a spirit heal.
:{{id|API|AcceptBattlefieldPort}}(index[, acceptFlag]) - Accept or reject an offered battlefield port.
:{{id|API|CancelAreaSpiritHeal}}() - Cancel a spirit heal.
:{{id|API|CanJoinBattlefieldAsGroup}}() - returns nil if the player can not do a group join for a battlefield.
:{{id|API|CheckSpiritHealerDist}}() - Return true if you are in range with spirit healer while dead.
:{{id|API|GetAreaSpiritHealerTime}}() - Returns the time left until the next resurrection by the Sprit Guide.
:{{id|API|GetBattlefieldEstimatedWaitTime}}(index) - Get the estimated wait for entry into the battlefield.
:{{id|API|GetBattlefieldFlagPosition}}(index) - Get the map position and texture of the flag.
:{{id|API|GetBattlefieldInstanceExpiration}}() - Get shutdown timer for the battlefield instance.
:{{id|API|GetBattlefieldInstanceRunTime}}() - In milliseconds, the time since battleground started (seems to be queried from server because it is not in sync with time()).
:{{id|API|GetBattlefieldMapIconScale}}() - Scale of the landmark icons on the battlefield minimap.
:{{id|API|GetBattlefieldPortExpiration}}(index) - Get the remaining seconds before the battlefield port expires.
:{{id|API|GetBattlefieldPosition}}(index) - Get the map position and name of a player in the battleground not in your raid.
:{{id|API|GetBattlefieldScore}}(index) - Get score information about a player.
:{{id|API|GetBattlefieldStatData}}(playerIndex, slotIndex) - Get information for a player from a column thats specific to a battleground (like Warsong Gulch flag captures).
:{{id|API|GetBattlefieldStatInfo}}(index) - Get the battleground specific column for the score board.
:{{id|API|GetBattlefieldStatus}}(index) - Get the battlefield's current status.
:{{id|API|GetBattlefieldTimeWaited}}(index) - Get time waited in queue in milliseconds.
:{{id|API|GetBattlefieldWinner}}() - Get the battlefields winner.
:{{id|API|GetBattlegroundInfo}}() - Returns information about a battleground type.
:{{id|API|GetNumBattlefieldFlagPositions}}() - Get the number of flag positions available from GetBattlefieldFlagPosition().
:{{id|API|GetNumBattlefieldPositions}}() - Get the number of positions available from GetBattlefieldPosition().
:{{id|API|GetNumBattlefieldScores}}() - Returns the number of scores(players) listed in the battlefield scoreboard.
:{{id|API|GetNumBattlefieldStats}}() - Get the number of battleground specific columns.
:{{id|API|GetNumWorldStateUI}}() - Get the number of WorldState UI's.
:REMOVED {{id|API|GetWintergraspWaitTime}}() - Get the number of seconds until the next Wintergrasp battle. Returns nil if battle is in progress.
:{{id|API|GetWorldStateUIInfo}}(i) - Get score and flag status within a battlefield.
:{{id|API|IsPVPTimerRunning}}()
:{{id|API|JoinBattlefield}}(index[, joinAs]) - Queue for a battleground either solo or as a group.
:{{id|API|LeaveBattlefield}}() - Leave the current battlefield
:{{id|API|ReportPlayerIsPVPAFK}}("[[unitId|unit]]") - Reports the specified player as AFK in a battleground.
:{{id|API|RequestBattlefieldPositions}}() - Request new data for GetBattlefieldPosition().
:{{id|API|RequestBattlefieldScoreData}}() - Request new data for GetBattlefieldScore().
:{{id|API|RequestBattlegroundInstanceInfo}}(index) - Requests data about the available instances of a battleground.
:{{id|API|SetBattlefieldScoreFaction}}([faction]) - Set the faction to show on the battlefield scoreboard.
=== Binding ===
:{{id|API|GetBinding}}(index) - Get action and key bindings for that index.
:{{id|API|GetBindingAction}}("KEY" [,checkOverride]) - Get the action bound to that key.
:{{id|API|GetBindingKey}}("command") - Get the key(s) bound to that action.
:UI {{id|API|GetBindingText}}("key", "prefix", returnAbbr) - Gets the string value for the key.
:{{id|API|GetCurrentBindingSet}}() - Queries if current set of key bindings is character or account specific
:{{id|API|GetNumBindings}}() - Get total number key bindings and headers.
:{{id|API|LoadBindings}}(which) - Loads default, account or character specific key binding set into memory from disk.
:{{id|API|RunBinding}}("command"[, "up"]) - Executes the key binding named "command"
:{{id|API|SaveBindings}}(which) - Saves account or character specific key bindings from memory to disk.
:NOCOMBAT {{id|API|SetBinding}}("key"[, "command"[, mode]]) - Sets or unsets key bindings. (2.0 - Can not be used in combat.)
:NOCOMBAT {{id|API|SetBindingSpell}}("KEY", "Spell Name") - Set a key binding directly to a spell, uses the same spell name syntax as /cast.
:NOCOMBAT {{id|API|SetBindingClick}}("KEY", "ButtonName" [,"mouseButton"]) - Set a key binding directly to a Button object. The click sends a mouse down when the key is pressed, and a mouse up when it is released.
:NOCOMBAT {{id|API|SetBindingItem}}("KEY", "itemname")
:NOCOMBAT {{id|API|SetBindingMacro}}("KEY", "macroname"|macroid)
:{{id|API|SetConsoleKey}}("key") - Sets the console key (normally ~ ).
:NOCOMBAT {{id|API|SetOverrideBinding}}(owner, isPriority, "KEY" [,"COMMAND"]) - Set (or clear) an override key binding.
:NOCOMBAT {{id|API|SetOverrideBindingSpell}}(owner, isPriority, "KEY", "spellname")
:NOCOMBAT {{id|API|SetOverrideBindingClick}}(owner, isPriority, "key", "buttonName" [, "mouseClick"]) - Sets an override binding that acts like a mouse click on a button.
:NOCOMBAT {{id|API|SetOverrideBindingItem}}(owner, isPriority, "KEY", "itemname")
:NOCOMBAT {{id|API|SetOverrideBindingMacro}}(owner, isPriority, "KEY", "macroname"|macroid)
:NOCOMBAT {{id|API|ClearOverrideBindings}}(owner) - Reset all overrides belonging to an owner.
:{{id|API|SetMouselookOverrideBinding}}("KEY" [,"COMMAND"])
:{{id|API|IsModifierKeyDown}}() - equivalent to (IsShiftKeyDown() or IsControlKeyDown() or IsAltKeyDown()).
:{{id|API|IsModifiedClick}}("action") - Returns 1 if the keys for the specified action are down, nil otherwise.
:{{id|API|IsMouseButtonDown}}([button or "button"])
=== Buff / Debuff ===
:PROTECTED {{id|API|CancelUnitBuff}}("unit", index or "spell" [,"filter" or "rank"]) - Removes a specific buff from the player.
:PROTECTED {{id|API|CancelShapeshiftForm}}() - Cancels a druid's shapeshift form buff.
:PROTECTED {{id|API|CancelItemTempEnchantment}}(weaponHand) - Cancels a temporary weapon enchant on ''weaponHand'' (1 for Main hand, 2 for Off hand).
:{{id|API|GetWeaponEnchantInfo}}() - Return information about main and offhand weapon enchantments.
:{{id|API|UnitAura}}("[[unitId|unit]]", index or "buffName" [,filter]) - Returns information about a buff/debuff of a certain unit.
:{{id|API|UnitBuff}}("[[unitId|unit]]", index or "buffName" [,castable]) - Retrieves info about a buff of a certain unit.
:{{id|API|UnitDebuff}}("[[unitId|unit]]", index or "buffName" [,removable]) - Retrieves info about a debuff of a certain unit.
=== Calendar ===
:HW {{id|API|CalendarAddEvent}}() - Saves the selected event (new events only, requires hardware input to call)
:{{id|API|CalendarCanAddEvent}}() - Returns true if player can add an event
:{{id|API|CalendarCanSendInvite}}() - Returns true if player can send invites
:{{id|API|CalendarCloseEvent}}() - Closes the selected event without saving it
:{{id|API|CalendarContextDeselectEvent}}() - (added 3.0.8)
:{{id|API|CalendarContextEventCanComplain}}(monthOffset, day, eventIndex) - Returns true if player can report the event as spam
:{{id|API|CalendarContextEventCanEdit}}(monthOffset, day, eventIndex) - Returns true if player can edit the event
:{{id|API|CalendarContextEventClipboard}}()
:{{id|API|CalendarContextEventComplain}}(monthOffset, day, eventIndex) - Reports the event as spam
:{{id|API|CalendarContextEventCopy}}(monthOffset, day, eventIndex) - Copies the event to the clipboard
:{{id|API|CalendarContextEventGetCalendarType}}()
:{{id|API|CalendarContextEventPaste}}(monthOffset, day) - Pastes the clipboard event to the date
:{{id|API|CalendarContextEventRemove}}(monthOffset, day, eventIndex) - Deletes the event
:{{id|API|CalendarContextEventSignUp}}()
:{{id|API|CalendarContextGetEventIndex}}() - (added 3.0.8)
:{{id|API|CalendarContextInviteAvailable}}(monthOffset, day, eventIndex) - Accepts the invitation to the event
:{{id|API|CalendarContextInviteDecline}}(monthOffset, day, eventIndex) - Declines the invitation to the event
:{{id|API|CalendarContextInviteIsPending}}(monthOffset, day, eventIndex) - Returns true if the player hasn't responded to the event invite
:{{id|API|CalendarContextInviteTentative}}()
:{{id|API|CalendarContextInviteType}}
:{{id|API|CalendarContextInviteModeratorStatus}}(monthOffset, day, eventIndex)
:{{id|API|CalendarContextInviteRemove}}(monthOffset, day, eventIndex) - Removes the event from the calendar
:{{id|API|CalendarContextInviteStatus}}(monthOffset, day, eventIndex) - returns inviteStatus
:{{id|API|CalendarContextSelectEvent}}(monthOffset, day, eventIndex) - (added 3.0.8)
:{{id|API|CalendarDefaultGuildFilter}}() - returns minLevel, maxLevel
:{{id|API|CalendarEventAvailable}}() - Accepts the inviation to the currently open event
:{{id|API|CalendarEventCanEdit}}() - Returns true if the event can be edited
:{{id|API|CalendarEventCanModerate}}
:{{id|API|CalendarEventClearAutoApprove}}() - Turns off automatic confirmations
:{{id|API|CalendarEventClearLocked}}() - Unlocks the event
:{{id|API|CalendarEventClearModerator}}()
:{{id|API|CalendarEventDecline}}() - Declines the invitation to the currently open event
:{{id|API|CalendarEventGetCalendarType}}()
:{{id|API|CalendarEventGetInvite}}(inviteeIndex) - Returns status information for an invitee for the currently opened event
:{{id|API|CalendarEventGetInviteResponseTime}}(inviteIndex)
:{{id|API|CalendarEventGetInviteSortCriterion}}() - returns criterion, reverse
:{{id|API|CalendarEventGetNumInvites}}() - Returns the number of invitees for the currently opened event
:{{id|API|CalendarEventGetRepeatOptions}}() - Returns opt1, opt2
:{{id|API|CalendarEventGetSelectedInvite}}() - returns inviteIndex
:{{id|API|CalendarEventGetStatusOptions}}() - Returns ?
:{{id|API|CalendarEventGetTextures}}(eventType) - Returns title1, tex1, expLvl1, title2, tex2, expLvl2, ...
:{{id|API|CalendarEventGetTypes}}() - Returns name1, name2, ...
:{{id|API|CalendarEventHasPendingInvite}}() - Returns true if the player has an unanswered invitation to the currently selected event
:{{id|API|CalendarEventHaveSettingsChanged}}() - Returns true if the currently open event has been modified
:{{id|API|CalendarEventInvite}}("Player") - Invite player to currently selected event
:{{id|API|CalendarEventIsModerator}}()
:{{id|API|CalendarEventRemoveInvite}}(inviteIndex)
:{{id|API|CalendarEventSelectInvite}}(inviteIndex)
:{{id|API|CalendarEventSetAutoApprove}}()
:{{id|API|CalendarEventSetDate}}(month, day, year)
:{{id|API|CalendarEventSetDescription}}(description)
:{{id|API|CalendarEventSetLocked}}()
:{{id|API|CalendarEventSetLockoutDate}}(lockoutDate)
:{{id|API|CalendarEventSetLockoutTime}}(lockoutTime)
:{{id|API|CalendarEventSetModerator}}(index)
:{{id|API|CalendarEventSetRepeatOption}}(repeatoption)
:{{id|API|CalendarEventSetSize}}
:{{id|API|CalendarEventSetStatus}}(index, status) - Sets the invitation status of a player to the current event
:{{id|API|CalendarEventSetTextureID}}(textureIndex)
:{{id|API|CalendarEventSetTime}}(hour, minute)
:{{id|API|CalendarEventSetTitle}}(title)
:{{id|API|CalendarEventSetType}}(type)
:{{id|API|CalendarEventSignUp}}()
:{{id|API|CalendarEventSortInvites}}(criterion)
:{{id|API|CalendarEventTentative}}()
:{{id|API|CalendarGetAbsMonth}}() - returns month, year
:{{id|API|CalendarGetDate}}() - Call this only after PLAYER_ENTERING_WORLD event
:{{id|API|CalendarGetDayEvent}}(monthOffset, day, eventIndex)
:{{id|API|CalendarGetDayEventSequenceInfo}} - Retrieve information about the specified event.
:{{id|API|CalendarGetEventIndex}}() - returns monthOffset, day, index
:{{id|API|CalendarGetEventInfo}}() - Returns detailed information about an event selected with CalendarOpenEvent()
:{{id|API|CalendarGetFirstPendingInvite}}(monthOffset, day) - returns eventIndex
:{{id|API|CalendarGetHolidayInfo}}(monthOffset, day, eventIndex) - Returns Holiday Name, Holiday Description, Calendar Icon
:{{id|API|CalendarGetMaxCreateDate}}() - returns maxWeekday, maxMonth, maxDay, maxYear
:{{id|API|CalendarGetMaxDate}}() - returns maxWeekday, maxMonth, maxDay, maxYear
:{{id|API|CalendarGetMinDate}}() - returns minWeekday, minMonth, minDay, minYear
:{{id|API|CalendarGetMinHistoryDate}}() - returns minWeekday, minMonth, minDay, minYear
:{{id|API|CalendarGetMonth}}([monthOffset]) - returns month, year
:{{id|API|CalendarGetMonthNames}}() - returns a list of the month names
:{{id|API|CalendarGetNumDayEvents}}(monthOffset[, day])
:{{id|API|CalendarGetNumPendingInvites}}() - returns count
:{{id|API|CalendarGetRaidInfo}} (monthOffset, day, eventIndex) - returns name, calendarType, raidID, hour, minute, difficulty
:{{id|API|CalendarGetWeekdayNames}}() - returns a list of the weekday names
:{{id|API|CalendarIsActionPending}}() - returns isPending
:{{id|API|CalendarMassInviteArenaTeam}}(teamType)
:{{id|API|CalendarMassInviteGuild}}(minLevel, maxLevel, rank)
:{{id|API|CalendarNewEvent}}() - Creates and selected a new event
:{{id|API|CalendarNewGuildAnnouncement}}()
:{{id|API|CalendarNewGuildEvent}}(minLevel, maxLevel, minRank) - Replaces the invite list of the selected new event with the specified guild members
:{{id|API|CalendarOpenEvent}}(monthOffset, day, eventIndex) - Selects an existing event
:{{id|API|CalendarRemoveEvent}}() - Removes the selected event from the calendar (invitees only)
:{{id|API|CalendarSetAbsMonth}}(month, year) - Sets the reference month and year for functions which use a month offset
:{{id|API|CalendarSetMonth}}(monthOffset)
:{{id|API|CalendarUpdateEvent}}() - Saves the selected event (existing events only, requires hardware input to call)
:{{id|API|OpenCalendar}}() - Requests calendar information from the server. Does not open the calendar frame. (added 3.0.8)
=== Camera ===
'Mouse Look' refers to holding down the right mouse button and controlling the movement direction. Shifting the view by holding down the 'left' mouse button is not covered by these APIs.
:PROTECTED {{id|API|CameraOrSelectOrMoveStart}}() - Begin "Left click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|CameraOrSelectOrMoveStop}}([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
:{{id|API|CameraZoomIn}}(increment) - Zooms the camera into the viewplane by increment.
:{{id|API|CameraZoomOut}}(increment) - Zooms the camera out of the viewplane by increment.
:{{id|API|FlipCameraYaw}}(degrees) - Rotates the camera about the Z-axis by the angle amount specified in degrees.
:{{id|API|IsMouselooking}}() - Returns 1 if mouselook is currently active, nil otherwise.
:{{id|API|MouselookStart}}() - Enters mouse look mode; mouse movement is used to adjust movement/facing direction.
:{{id|API|MouselookStop}}() - Exits mouse look mode; mouse movement is used to move the mouse cursor.
:{{id|API|MoveViewDownStart}}() - Begins rotating the camera downward.
:{{id|API|MoveViewDownStop}}() - Stops rotating the camera after [[#MoveViewDownStart]]() is called.
:{{id|API|MoveViewInStart}}() - Begins zooming the camera in.
:{{id|API|MoveViewInStop}}() - Stops zooming the camera in after [[#MoveViewInStart]]() is called.
:{{id|API|MoveViewLeftStart}}() - Begins rotating the camera to the Left.
:{{id|API|MoveViewLeftStop}}() - Stops rotating the camera after [[#MoveViewLeftStart]]() is called.
:{{id|API|MoveViewOutStart}}() - Begins zooming the camera out.
:{{id|API|MoveViewOutStop}}() - Stops zooming the camera out after [[#MoveViewOutStart]]() is called.
:{{id|API|MoveViewRightStart}}() - Begins rotating the camera to the Right.
:{{id|API|MoveViewRightStop}}() - Stops rotating the camera after [[#MoveViewRightStart]]() is called.
:{{id|API|MoveViewUpStart}}() - Begins rotating the camera upward.
:{{id|API|MoveViewUpStop}}() - Stops rotating the camera after [[#MoveViewUpStart]]() is called.
:PROTECTED {{id|API|PitchDownStart}}() - Begins pitching the camera Downward.
:PROTECTED {{id|API|PitchDownStop}}() - Stops pitching the camera after [[#PitchDownStart]]() is called.
:PROTECTED {{id|API|PitchUpStart}}() - Begins pitching the camera Upward.
:PROTECTED {{id|API|PitchUpStop}}() - Stops pitching the camera after [[#PitchUpStart]]() is called.
:{{id|API|NextView}}() - Cycles forward through the five predefined camera positions.
:{{id|API|PrevView}}() - Cycles backward through the five predefined camera positions.
:{{id|API|ResetView}}(index) - Resets the specified (1-5) predefined camera position to its default if it was changed using [[#SaveView]](index).
:{{id|API|SaveView}}(index) - Replaces the specified (1-5) predefined camera positions with the current camera position.
:{{id|API|SetView}}(index) - Sets camera position to a specified (1-5) predefined camera position.
=== Channel ===
These are chat functions which are specific to channels. Also see the [[#Chat Window]] and [[#Communication]] sections.
:{{id|API|AddChatWindowChannel}}(chatFrameIndex, "channel") - Make a chat channel visible in a specific ChatFrame.
:{{id|API|ChannelBan}}("channel", "name") - Bans a player from the specified channel.
:{{id|API|ChannelInvite}}("channel", "name") - Invites the specified user to the channel.
:{{id|API|ChannelKick}}("channel", "name") - Kicks the specified user from the channel.
:{{id|API|ChannelModerator}}("channel", "name") - Sets the specified player as the channel moderator.
:{{id|API|ChannelMute}}("channel", "name") - Turns off the specified player's ability to speak in a channel.
:{{id|API|ChannelToggleAnnouncements}}("channel") - Toggles the channel to display announcements either on or off.
:{{id|API|ChannelUnban}}("channel", "name") - Unbans a player from a channel.
:{{id|API|ChannelUnmoderator}}("channel", "name") - Takes the specified user away from the moderator status.
:{{id|API|ChannelUnmute}}("channel", "name") - Unmutes the specified user from the channel.
:{{id|API|DisplayChannelOwner}}("channel") - Displays the owner of the specified channel in the default chat.
:{{id|API|DeclineInvite}}("channel") - Declines an invitation to join a chat channel.
:{{id|API|EnumerateServerChannels}}() - Retrieves all available server channels (zone dependent).
:{{id|API|GetChannelList}}() - Retrieves joined channels.
:{{id|API|GetChannelName}}("channel" or index) - Retrieves the name from a specific channel.
:{{id|API|GetChatWindowChannels}}(index) - Get the chat channels received by a chat window.
:{{id|API|JoinChannelByName}}("channel"[, "password"[, frameId]]) - Join the specified chat channel, with optional password, and register for specified frame. (updated 1.9)
:{{id|API|LeaveChannelByName}}("channel") - Leaves the channel with the specified name.
:{{id|API|ListChannelByName}}(channelMatch) - Lists members in the given channel to the chat window.
:{{id|API|ListChannels}}() - Lists all of the channels into the chat window.
:{{id|API|RemoveChatWindowChannel}}(chatFrameIndex, "channel") - Make a chat channel invisible (hidden) in a specific ChatFrame.
:{{id|API|SendChatMessage}}("msg",[ "chatType",[ "language",[ "channel"]]]) - Sends a chat message.
:{{id|API|SetChannelOwner}}("channel", "name") - Sets the channel owner.
:{{id|API|SetChannelPassword}}("channel", "password") - Changes the password of the current channel.
=== Character ===
:{{id|API|AcceptResurrect}}() - The player accepts the request from another player to resurrect him/herself.
:{{id|API|AcceptXPLoss}}() - Accept the durability loss to be reborn by a spirit healer. The name is a remnant from when spirit res was an XP loss instead.
:{{id|API|CheckBinderDist}}() - Check whether the player is close enough to interact with the Hearthstone binder.
:{{id|API|ConfirmBinder}}() - Confirm the request to set the binding of the player's Hearthstone.
:{{id|API|DeclineResurrect}}() - Decline the request from another player to resurrect him/herself.
:{{id|API|DestroyTotem}}(slot)
:{{id|API|GetBindLocation}}() - Get the name of the location for your Hearthstone.
:{{id|API|GetComboPoints}}() - Get the current number of combo points.
:{{id|API|GetCorpseRecoveryDelay}}() - Time left before a player can accept a resurrection
:{{id|API|GetCurrentTitle}}() - Returns the player's current [[titleId]].
:{{id|API|GetMirrorTimerInfo}}(id) - returns information about a mirror timer (exhaustion, breath and feign death timers)
:{{id|API|GetMirrorTimerProgress}}(id) - returns the current value of a mirror timer (exhaustion, breath and feign death timers)
:{{id|API|GetMoney}}() - Returns an integer value of your held money in copper.
:{{id|API|GetNumTitles}}() - Returns the maximum [[titleId]]
:{{id|API|GetPlayerFacing}}() - Returns the direction the player is facing in radians ([-R, R] range, 0 is north, R/2 is east). (added 3.1)
:{{id|API|GetPVPDesired}}() - Returns whether the player has permanently turned on their PvP flag.
:{{id|API|GetReleaseTimeRemaining}}() - Returns the amount of time left before your ghost is pulled from your body.
:{{id|API|GetResSicknessDuration}}()
:{{id|API|GetRestState}}() - Returns information about a player's rest state (saved up experience bonus)
:{{id|API|GetRuneCooldown}}(id) - Returns cooldown information about a given rune.
:{{id|API|GetRuneCount}}(slot)
:{{id|API|GetRuneType}}(id) - Returns the type of rune with the given id.
:{{id|API|GetTimeToWellRested}}() - Defunct.
:{{id|API|GetTitleName}}([[titleId]]) - Returns the player's current title name
:{{id|API|GetUnitPitch}}(UnitID) - Returns the true pitch radians ([-R, R] 0 is level). UnitID restricted to "player".
:{{id|API|GetXPExhaustion}}() - Returns your character's current rested XP, nil if character is not rested.
:{{id|API|HasFullControl}}()
:{{id|API|HasSoulstone}}()
:{{id|API|IsFalling}}() - Returns 1 if your character is currently plummeting to their doom.
:{{id|API|IsFlying}}() - Returns 1 if flying, otherwise nil.
:{{id|API|IsFlyableArea}}() - Returns 1 if it is possible to fly here, nil otherwise.
:{{id|API|IsIndoors}}() - Returns 1 if you are indoors, otherwise nil. Returns nil for indoor areas where you can still mount.
:{{id|API|IsMounted}}() - Returns 1 if mounted, otherwise nil
:{{id|API|IsOutdoors}}() - Returns 1 if you are outdoors, otherwise nil. Returns 1 for indoor areas where you can still mount.
:{{id|API|IsOutOfBounds}}() - Returns 1 if you fell off the map.
:{{id|API|IsResting}}() - Returns 1 if your character is currently resting.
:{{id|API|IsStealthed}}() - Returns 1 if stealthed or shadowmeld, otherwise nil
:{{id|API|IsSwimming}}() - Returns 1 if your character is currently swimming.
:{{id|API|IsTitleKnown}}(index) - Returns 1 if the title is valid for the player, otherwise 0.
:{{id|API|IsXPUserDisabled}}() - Returns 1 if the character has disabled experience gain.
:{{id|API|NotWhileDeadError}}() - Generates an error message saying you cannot do that while dead.
:{{id|API|ResurrectHasSickness}}() - Appears to be used when accepting a resurrection will give you resurrection sickessness.
:{{id|API|ResurrectHasTimer}}() - Does the player have to wait before accepting a resurrection
:{{id|API|ResurrectGetOfferer}}() - Returns the name of the person offering to resurrect you.
:{{id|API|RetrieveCorpse}}() - Resurrects when near corpse. e.g., The "Accept" button one sees after running back to your body.
:HW {{id|API|SetCurrentTitle}}([[titleId]]) - Sets the player's current title id
:{{id|API|TargetTotem}}() - (added 3.0.8)
=== Character Statistics ===
:{{id|API|GetArmorPenetration}}() - Returns percent of armor ignored by your physical attacks.
:{{id|API|GetAttackPowerForStat}}(stat, value) - Returns the amount of attack power contributed by a specified amount of a particular stat.
:{{id|API|GetAverageItemLevel}}() - Returns the player's current iLevel.
:{{id|API|GetBlockChance}}() - Returns the player's percentage block chance.
:{{id|API|GetCombatRating}}(ratingID) - Returns the player's combat rating for a particular combat rating. (added 2.0)
:{{id|API|GetCombatRatingBonus}}(ratingID) - Returns the player's combat rating bonus for a particular combat rating. (added 2.0)
:{{id|API|GetCritChance}}() - Returns the player's melee critical hit chance
:{{id|API|GetCritChanceFromAgility}}("unit") - Returns the amount of your critical hit chance contributed by Agility.
:{{id|API|GetDodgeChance}}() - Returns the player's percentage dodge chance.
:{{id|API|GetExpertise}}() - Returns main hand and offhand expertise value.
:{{id|API|GetExpertisePercent}}() - Returns reduction in dodge and parry chances for main hand and offhand attacks, in percent.
:{{id|API|GetLifesteal}}() - Returns the player's Leech.
:{{id|API|GetManaRegen}}() - Returns the player's mana regeneration rates.
:{{id|API|GetMastery}}() - Returns the sum of player's base and rating bonus mastery.
:{{id|API|GetMasteryEffect}}() - Returns the effect of player's current Mastery.
:{{id|API|GetMaxCombatRatingBonus}}(lowestRating)
:{{id|API|GetParryChance}}() - Returns the player's percentage parry chance.
:{{id|API|GetPetSpellBonusDamage}}
:{{id|API|GetPowerRegen}}() - Returns normal and combat power regeneration rates
:{{id|API|GetSpellBonusDamage}}(spellTreeID) - Returns the raw spell damage of the player for a given spell tree.
:{{id|API|GetRangedCritChance}}() - Returns the players ranged critical strike chance.
:{{id|API|GetSpellBonusHealing}}() - Returns the raw bonus healing of the player.
:{{id|API|GetSpellCritChance}}(school) - returns the players critical hit chance with a particular spell school.
:{{id|API|GetShieldBlock}}()
:{{id|API|GetSpellCritChanceFromIntellect}}("unit")
:{{id|API|GetSpellPenetration}}()
=== Chat Window ===
These are functions which are specific to chat 'window' management. See also the [[#Channel]] and [[#Communication]] sections. See [[World of Warcraft API/Mikk's spiel on chat windows|Mikk's spiel on chat windows]], which may be out of date.
:{{id|API|AddChatWindowChannel}}(chatFrameIndex, "channel") - Make a chat channel visible in a specific ChatFrame.
:{{id|API|AddChatWindowMessages}} - Adds a messaging group to the specified chat window.
:{{id|API|ChangeChatColor}}(channelname,r,g,b) - Update the color for a type of chat message.
:UI {{id|API|ChatFrame|AddChannel|f=1}}(chatFrame, "channelName") - Activate channel in chatFrame.
:UI {{id|API|ChatFrame|AddMessageEventFilter|f=1}}("event", filterFunc) - Add a chat message filtering function (added 2.4)
:UI {{id|API|ChatFrame|GetMessageEventFilters|f=1}}("event") - Retreive the list of chat message filtering functions. (added 2.4)
:UI {{id|API|ChatFrame|OnHyperlinkShow|f=1}}(reference, link, button) - called when the user clicks on a chatlink.
:UI {{id|API|ChatFrame|RemoveMessageEventFilter|f=1}}("event", filterFunc) - Unregister a chat message filtering function (added 2.4)
:{{id|API|GetAutoCompleteResults}}("text", include, exclude, maxResults[, cursorPosition]) - Returns possible player names matching a given prefix string and specified requirements.
:{{id|API|GetChatTypeIndex}}(type) - Get the numeric ID of a type of chat message.
:{{id|API|GetChatWindowChannels}}(index) - Get the chat channels received by a chat window.
:{{id|API|GetChatWindowInfo}}(index) - Get setup information about a chat window.
:{{id|API|GetChatWindowMessages}}(index) - Get the chat message types received by a chat window.
:{{id|API|JoinChannelByName}}("channel"[, "password"[, frameId]]) - Join the specified chat channel, with optional password, and register for specified frame. (updated 1.9)
:{{id|API|LoggingChat}}(newState) - Gets or sets whether logging chat to Logs\WoWChatLog.txt is enabled.
:{{id|API|LoggingCombat}}(newState) - Gets or sets whether logging combat to Logs\WoWCombatLog.txt is enabled.
:{{id|API|RemoveChatWindowChannel}}(chatFrameIndex, "channel") - Make a chat channel invisible (hidden) in a specific ChatFrame.
:{{id|API|RemoveChatWindowMessages}}(chatFrameIndex,"messageGroup") - Remove a set of chat messages from this window.
These functions get applied after reload ui (index 1 is General and index 2 is Combat Log):
:{{id|API|SetChatWindowAlpha}}(index,alpha) - Sets the Alpha value(transparency) of ChatFrame<index> (alpha - 0-100)
:{{id|API|SetChatWindowColor}}(index,r,g,b) - Sets the background color of a a chat window. (r/g/b - 0-255)
:{{id|API|SetChatWindowDocked}}(index,docked) - Set whether a chat window is docked. (docked - 0/1)
:{{id|API|SetChatWindowLocked}}(index,locked) - Sets ChatFrame<index> so that it is or is not movable. (locked - 0/1)
:{{id|API|SetChatWindowName}}(index,"name") - Sets the name of ChatFrame<index> to <"name">.
:{{id|API|SetChatWindowShown}}(index,shown) - Shows or Hides ChatFrame<index> depending on value of <shown> (shown - 0/1)
:{{id|API|SetChatWindowSize}}(index,size) - Sets the font size of a chat window. (size - default 14)
:{{id|API|SetChatWindowUninteractable}}(id, isUninteractable) - (added 3.0.8)
=== Communication ===
These are functions communicate with other players. Also see the [[#Channel]] and [[#Chat Window]] sections.
:{{id|API|DoEmote}}("emote",["target"]) - Perform a voice emote.
:{{id|API|GetDefaultLanguage}}("[[unitId|unit]]") - Returns the default language that the unit is speaking after logon.
:{{id|API|GetLanguageByIndex}}(index) - Returns the language specified by the index.
:{{id|API|GetNumLanguages}}() - Returns the number of languages your character can speak. (renamed from 'GetNumLaguages' 2.4)
:{{id|API|GetRegisteredAddonMessagePrefixes}}(table) - Returns a table, or you can pass in a table, that will be filled in with all prefixes that were registered. (added 4.1)
:{{id|API|IsAddonMessagePrefixRegistered}}(prefix) - Returns a Boolean if the prefix has been registered. (added 4.1)
:{{id|API|RandomRoll}}(low, high) - Does a random roll between the two values.
:{{id|API|RegisterAddonMessagePrefix}}(prefix) - Register the addon prefix to enable the [[Events/C#CHAT_MSG_ADDON|CHAT_MSG_ADDON]] event. Returns a boolean if successful could fail if it hits the client side limit of 512 prefixes. (added 4.1)
:{{id|API|SendAddonMessage}}("prefix", "text", "type" [, "player"]) - Sends a message to hidden AddOn channels. (added 1.12)
:{{id|API|SendChatMessage}}("msg",[ "chatType",[ "language",[ "channel"]]]) - Sends a chat message.
=== Companion ===
These functions relate to companions, mounts and non-combat pets. All functions were introduced in 3.0.
:{{id|API|CallCompanion}}("type", slotid) - Summons a companion.
:{{id|API|DismissCompanion}}("type") - Dismisses an active companion.
:{{id|API|GetCompanionInfo}}("type", slotid) - Returns info about a selected companion.
:{{id|API|GetNumCompanions}}("type") - Get the number of companions of the specified type.
:{{id|API|GetCompanionCooldown}}("type", index) - Returns cooldown information.
:{{id|API|PickupCompanion}}("type", index) - Picks up the indexed companion onto the mouse cursor.
:{{id|API|SummonRandomCritter}}() - Summons a random critter companion. (added 3.3.3)
=== Container / Bag ===
These functions manage containers, bags, backpacks. See also [[#Inventory]] and [[#Bank]] sections.
:{{id|API|ContainerIDToInventoryID}}([[bagId|bagID]])
:{{id|API|GetBagName}}([[bagId|bagID]]) - Get the name of one of the player's bags.
:{{id|API|GetContainerItemCooldown}}([[bagId|bagID]], slot)
:{{id|API|GetContainerItemDurability}}(bag, slot) - Get current and maximum durability of an item in the character's bags.
:{{id|API|GetContainerItemGems}}(bag, slot) - Returns item IDs of gems inserted into the item in a specified container slot.
:{{id|API|GetContainerItemID}}(bag, slot) - Returns the item ID of the item in a particular container slot.
:{{id|API|GetContainerItemInfo}}([[bagId|bagID]], slot) - Get the info for an item in one of the player's bags.
:{{id|API|GetContainerItemLink}}([[bagId|bagID]], slot) - Returns the [[itemLink]] of the item located in bag#, slot#.
:{{id|API|GetContainerNumSlots}}([[bagId|bagID]]) - Returns the total number of slots in the bag specified by the index.
:{{id|API|GetContainerItemQuestInfo}}(bag, slot) - Returns information about quest and quest-starting items in your bags. (added 3.3.3)
:{{id|API|GetContainerNumFreeSlots}}([[bagId|bagID]]) - Returns the number of free slots and type of slots in the bag specified by the index. (added 2.4)
:{{id|API|HasKey}}() - Returns 1 if the player has a keyring, nil otherwise.
:UI {{id|API|OpenAllBags}}() - Open all bags
:UI {{id|API|CloseAllBags}}() - Close all bags
:{{id|API|PickupBagFromSlot}}(slot) - Picks up the bag from the specified slot, placing it in the cursor.
:{{id|API|PickupContainerItem}}([[bagId|bagID]],slot)
:{{id|API|PutItemInBackpack}}() - attempts to place item in backpack (bag slot 0).
:{{id|API|PutItemInBag}}(inventoryId) - attempts to place item in a specific bag.
:UI {{id|API|PutKeyInKeyRing}}() - attempts to place item in your keyring.
:{{id|API|SplitContainerItem}}([[bagId|bagID]],slot,amount)
:UI {{id|API|ToggleBackpack}}() - Toggles your backpack open/closed.
:UI {{id|API|ToggleBag}}([[bagId|bagID]]) - Opens or closes the specified bag.
:PROTECTED {{id|API|UseContainerItem}}([[bagId|bagID]], slot[, onSelf]) - Uses an item located in bag# and slot#. Warning: If a vendor window is open, using items in your pack may sell them - 'onSelf'! Protected situationally? (added 1.12)
=== Currency ===
Most of these functions were added in 3.0.2.
:{{id|API|GetCoinText}}(amount, "separator") - Breaks down money and inserts separator strings. (added 2.4.2)
:{{id|API|GetCoinTextureString}}(amount[, fontHeight]) - Breaks down money and inserts texture strings.
:{{id|API|GetCurrencyInfo}}(index) - returns localized_label, amount, icon_file_name of the currency at the index.  (added 4.0.1)
:{{id|API|GetCurrencyListSize}}() - returns the number of elements (both headers and currencies) in the currency list.
:{{id|API|GetCurrencyListInfo}}(index) - return information about an element in the currency list.
:{{id|API|ExpandCurrencyList}}(index, state) - sets the expanded/collapsed state of a currency list header.
:UI {{id|API|MoneyInputFrame_GetCopper}}(frame) - Returns the amount of money entered in a MoneyInputFrame in copper pieces
:{{id|API|SetCurrencyUnused}}(id, state) - alters whether a currency is marked as unused.
:{{id|API|GetNumWatchedTokens}}() - returns the number of currently watched.
:{{id|API|GetBackpackCurrencyInfo}}(id) - returns information about a watched currency.
:{{id|API|SetCurrencyBackpack}}(id, state) - alters whether a currency is tracked.
=== Cursor ===
:{{id|API|AutoEquipCursorItem}}() - Causes the equipment on the cursor to be equipped.
:{{id|API|ClearCursor}}() - Clears whatever item the cursor is dragging from the cursor. (added 1.12)
:{{id|API|CursorCanGoInSlot}}([[inventorySlotId|invSlot]]) - Return true if the item currently held by the cursor can go into the given inventory (equipment) slot.
:{{id|API|CursorHasItem}}() - Returns true if the cursor currently holds an item.
:{{id|API|CursorHasMoney}}() - true/false
:{{id|API|CursorHasSpell}}() - true/false
:{{id|API|DeleteCursorItem}}() - Destroys the item on the cursor.
:{{id|API|DropCursorMoney}}() - Drops the amount of money held by the cursor.
:{{id|API|DropItemOnUnit}}("[[unitId|unit]]") - Drops an item from the cursor onto a unit.
:{{id|API|EquipCursorItem}}([[inventorySlotId|invSlot]])
:{{id|API|GetCursorInfo}}() - Returns information about what the cursor is holding.
:{{id|API|GetCursorMoney}}() - Returns the amount of money held by the cursor.
:{{id|API|GetCursorPosition}}() - Returns the cursor's position on the screen.
:{{id|API|HideRepairCursor}}()
:{{id|API|InRepairMode}}() - Returns true if your cursor is in repair mode
:NOCOMBAT {{id|API|PickupAction}}(slot) - Drags an action out of the specified quickbar slot and holds it on the cursor.
:{{id|API|PickupBagFromSlot}}(slot) - Picks up the bag from the specified slot, placing it in the cursor. If an item is already picked up, this places the item into the specified slot, swapping the items if needed.
:{{id|API|PickupContainerItem}}([[bagId|bagID]],slot)
:{{id|API|PickupInventoryItem}}([[inventorySlotId|invSlot]]) - "Picks up" an item from the player's worn inventory.
:NOCOMBAT {{id|API|PickupItem}}(itemId or "[[itemString]]" or "itemName" or "[[itemLink]]")
:{{id|API|PickupMacro}}("macroName" or index) - Adds the specified macro to the Cursor.
:{{id|API|PickupMerchantItem}}(index) - Places the item on the cursor. If the cursor already has an item, the item in the cursor will be sold.
:NOCOMBAT {{id|API|PickupPetAction}}(slot) - Drags an action from the specified pet action bar slot into the cursor.
:{{id|API|PickupPlayerMoney}} - Picks up an amount of money from the player.
:NOCOMBAT {{id|API|PickupSpell}}("spellName" | spellID, "bookType") - Adds the specified spell to the Cursor.
:{{id|API|PickupStablePet}}(index)
:{{id|API|PickupTradeMoney}}(amount)
:{{id|API|PlaceAction}}(slot) - Drops an action from the cursor into the specified quickbar slot.
:{{id|API|PutItemInBackpack}}() - attempts to place item in backpack (bag slot 0).
:{{id|API|PutItemInBag}}(inventoryId) - attempts to place item in a specific bag.
:{{id|API|ResetCursor}}()
:{{id|API|SetCursor}}("cursor" or nil)
:{{id|API|ShowContainerSellCursor}}(index,slot)
:{{id|API|ShowInspectCursor}}() - Change the cursor to the magnifying glass inventory inspection cursor
:{{id|API|ShowInventorySellCursor}}()
:{{id|API|ShowMerchantSellCursor}}(index) - Changes the cursor to the merchant sell cursor.
:{{id|API|ShowRepairCursor}}()
:{{id|API|SplitContainerItem}}(bagID,slot,amount) - Picks up part of a stack.
=== Debugging ===
:{{id|API|ConsoleAddMessage}}(message) - (added 3.0.8)
:{{id|API|debugprofilestart}}() - starts a timer for profiling during debugging.
:{{id|API|debugprofilestop}}() - return the time in milliseconds since the last call to debugprofilestart()
:{{id|API|debugstack}}(start, count1, count2) - Returns a string representation of the current calling stack (added 1.9)
:{{id|API|FrameXML_Debug}}(flag) - Sets FrameXML logging state which is output to /WoW Folder/Logs/FrameXML.log
:{{id|API|GetDebugStats}}()
:UI {{id|API|getprinthandler}}() - Returns the function currently handling print() output.
:UI {{id|API|print}}(...) - Calls the current print output handler with the provided values, by default printing the values to the default chat frame.
:UI {{id|API|setprinthandler}}(func) - Changes the function handling print() output.
:UI {{id|API|tostringall}}(...) - Converts and returns the passed arguments to string.
:{{id|API|wipe}}(table) - removes all key/value pairs from a table. also available as table.wipe().
=== Dressing Room ===
Functions controlling the 'dressing room' interface. (added 1700)
:UI {{id|API|DressUpItemLink}}("[[itemString]]" or "[[itemLink]]") - Will show the DressingRoom UI with the given item equipped.
:UI {{id|API|SetDressUpBackground}}(isAuctionFrame) - Given an Item shown in the Auction House will show the DressingRoom UI with the item equipped.
=== Dungeon Finder ===
Functions supporting the Dungeon Finder UI, added in 3.3. See also the [[#Raid Browser]] and [[#Looking for Group]] sections.
:HW {{id|API|AcceptProposal}}() - Accept an LFD group invite and enter the dungeon.
:{{id|API|CanPartyLFGBackfill}}() - Returns whether the party is eligible to recruit additional members from the LFG pool.
:{{id|API|GetLFDChoiceCollapseState}}(nil or table) - returns LFGCollapseList
:{{id|API|GetLFDChoiceEnabledState}}(nil or table) - returns LFGEnabledList
:{{id|API|GetLFDChoiceInfo}}(nil or table) - Returns a table of all dungeon info keyed by dungeonID
:{{id|API|GetLFDChoiceLockedState}}(nil or table) - Returns a table mapping dungeonID to isLocked (in LFD UI)
:{{id|API|GetLFDChoiceOrder}}(nil or table) - returns LFDDungeonList
:{{id|API|GetLFDLockPlayerCount}}() - returns the number of locks in a dungeon group
:{{id|API|GetLFDLockInfo}}(dungeonID, lockedPlayerNumber) - returns playerName, lockedReason; lockedPlayerNumber is from 1 to [[#GetLFDLockPlayerCount]](); lockedReason is found in LFG_INSTANCE_INVALID_CODES
:{{id|API|GetLFGDungeonInfo}}(dungeonId) - Returns information about a particular dungeon in the list: dungeonName, typeID, minLevel, maxLevel, recLevel, minRecLevel, maxRecLevel, expansionLevel, groupID, textureFilename, difficulty, maxPlayers, dungeonDescription, isHoliday
:{{id|API|GetLFGDungeonRewards}}(dungeontype) - dungeontype = 261 (normal) or 262 (heroic),  returns doneToday, moneyBase, moneyVar, experienceBase, experienceVar, numRewards
:{{id|API|GetLFGDungeonRewardInfo}}(dungeonID, rewardIndex) - returns name, texturePath, quantity.  rewardIndex matches 1 through numRewards from [[#GetLFGDungeonRewards]]
:{{id|API|GetLFGInfoServer}} - returns inParty, joined, queued, noPartialClear, achievements, lfgComment, slotCount
:{{id|API|GetLFGProposal}}() - Returns information about a LFD group invite.
:{{id|API|GetLFGProposalEncounter}}(encounterNumber) - returns bossName, texture, isKilled.  encounterNumber is from 1 to totalEncounters from [[#GetLFGProposal]]()
:{{id|API|GetLFGProposalMember}}(playerNumber) - returns info about players (numbers 1-5) in the LFG proposal: isLeader, role, level, responded, accepted, name, class
:{{id|API|GetLFGRandomDungeonInfo}}(index) - Returns information about a random dungeon queue: id, name
:{{id|API|GetNumRandomDungeons}}() - returns the number of specific dungeons that can be queued for
:{{id|API|GetPartyLFGBackfillInfo}}() - Returns information about the dungeon for which you may currently recruit additional members from the LFG pool.
:{{id|API|GetRandomDungeonBestChoice}}() - Returns suggested random dungeon ID.
:{{id|API|HasLFGRestrictions}}() - Returns whether the player is in a random party formed by the dungeon finder system.
:{{id|API|IsLFGDungeonJoinable}}(dungeonId) - Returns whether you can queue for a particular dungeon; dungeonId is from [[#GetLFGRandomDungeonInfo]]
:{{id|API|LFGTeleport}}([toSafety]) - Teleports the player to (toSafety = nil) or from (toSafety = true) a dungeon
:{{id|API|RejectProposal}}() - Reject an LFD group invite and exit the queue.
:{{id|API|SetLFGHeaderCollapsed}}(headerID, isCollapsed)
:{{id|API|UnitGroupRolesAssigned}}(UnitID) - Return's the targeted unit's assigned role.
=== Enchanting ===
:{{id|API|GetWeaponEnchantInfo}}() - Return information about main and offhand weapon enchantments.
:{{id|API|ReplaceEnchant}}()
:{{id|API|ReplaceTradeEnchant}}() - Confirm the replacement of an enchantment via trade.
:{{id|API|BindEnchant}}() - Confirm the binding of the item when enchanting.
=== Equipment ===
Equipment management was added in 3.1.2.
:NOCOMBAT {{idc|API|C_EquipmentSet|UseEquipmentSet}}(equipmentSetID) : setWasEquipped - Equips items from a specified equipment set.
:{{id|API|DeleteEquipmentSet}}("name") - Forgets an equipment set.
:UI {{id|API|GetEquipmentSetIconInfo}}(index) - Returns information about available icons.
:{{id|API|GetEquipmentSetInfo}}(index) - Returns information about an equipment set.
:{{id|API|GetEquipmentSetInfoByName}}("name") - Returns information about an equipment set.
:{{id|API|GetEquipmentSetItemIDs}}("name"[, returnTable]) - Populates and returns a table with the item IDs.
:{{id|API|GetEquipmentSetLocations}}("name"[, returnTable]) - Populates and returns a table with the item locations.
:{{id|API|GetNumEquipmentSets}}() - Returns the number of saved equipment sets.
:{{id|API|EquipmentManagerClearIgnoredSlotsForSave}}() - removes the ignore flag from all slots when saving an equipment set.
:{{id|API|EquipmentManagerIgnoreSlotForSave}}(slot) - flags the slot to be ignored when saving an equipment set.
:{{id|API|EquipmentManagerUnignoreSlotForSave}}(slot) - removes the ignore flag from a slot when saving an equipment set.
:UI {{id|API|EquipmentManager|UnpackLocation|f=1}}(location) - Unpacks a location integer to determine the actual inventory location.
:{{id|API|EquipmentSetContainsLockedItems}}("name") - Checks if some of the items in the set are currently locked (pending client/server interaction).
:{{id|API|PickupEquipmentSet}}(index) - Places an equipment set on the cursor.
:{{id|API|PickupEquipmentSetByName}}("name") - Places an equipment set on the cursor.
:{{id|API|RenameEquipmentSet}}("oldName", "newName") - Renames an equipment set.
:{{id|API|SaveEquipmentSet}}("name", iconIndex) - Saves the currently equipped items in a set.
:REMOVED {{id|API|UseEquipmentSet}}("name") - Equips an equipment set.
=== Faction ===
:{{id|API|CollapseFactionHeader}}(index) - Collapse a faction header row.
:{{id|API|CollapseAllFactionHeaders}}() - Collapse all faction header rows.
:{{id|API|ExpandFactionHeader}}(index) - Expand a faction header row.
:{{id|API|ExpandAllFactionHeaders}}() - Expand all faction header rows.
:{{id|API|FactionToggleAtWar}}(index) - Toggle the At War flag for a faction.
:{{id|API|GetFactionInfo}}(index) - Gets details for a specific faction/faction header.
:{{id|API|GetNumFactions}}() - Returns the number of lines in the faction display.
:{{id|API|GetSelectedFaction}}() - Returns the row index of the currently selected faction in reputation window. (added 1.10)
:{{id|API|GetWatchedFactionInfo}}() - Returns information about the currently watched faction. (added 1.10)
:{{id|API|IsFactionInactive}}(index) - Returns true if the faction is marked inactive. (added 1.10)
:{{id|API|SetFactionActive}}(index) - Remove a faction from inactive group. (added 1.10)
:{{id|API|SetFactionInactive}}(index) - Move a faction to inactive group. (added 1.10)
:{{id|API|SetSelectedFaction}}(index) - Sets the currently selected faction in reputation window. (added 1.10)
:{{id|API|SetWatchedFactionIndex}}(index) - Sets which faction should be watched in Blizzard reputation bar. (added 1.10)
:{{id|API|UnitFactionGroup}}("[[unitId|unit]]") - Returns the faction group id and name of the specified unit, eg. "Alliance". The string returned is localization-independent, and is used in filepath.
=== Frame ===
:{{id|API|CreateFrame}}("frameType"[ ,"name"][, parent][, "inheritFrame"]) - Create a new frame of the specified type
:{{id|API|CreateFont}}("name") - Dynamically create a font object
:{{id|API|GetFramesRegisteredForEvent}}(event) - Returns a list of frames that are registered for the given event. (added 2.3)
:{{id|API|GetNumFrames}}() - Get the current number of Frame (and derivative) objects
:UI {{id|API|EasyMenu}}(menuList, menuFrame, anchor, x, y, displayMode, autoHideDelay)
:{{id|API|EnumerateFrames}}(currentFrame) - Get the Frame which follows currentFrame
:{{id|API|GetMouseFocus}}() - Returns the frame that currently has the mouse focus.
:UI {{id|API|MouseIsOver}} - Determines whether or not the mouse is over the specified frame.
:UI {{id|API|ToggleDropDownMenu}}(level, value, dropDownFrame, anchorName, xOffset, yOffset)
:UI {{id|API|UIFrameFadeIn}}(frame, fadeTime, startAlpha, endAlpha)
:UI {{id|API|UIFrameFlash}}(...)
=== Friend ===
:{{id|API|AddFriend}}("playerName") - Add a friend to your friend list.
:{{id|API|AddOrRemoveFriend}}("playerName"[, "note"]) - Toggles a player's presence on your friends list.
:{{id|API|GetFriendInfo}}(index) - Returns name, level, class, location, connected, status, and friend note of a friend.
:{{id|API|SetFriendNotes}}(index, "note") - Sets the note text for a friend.
:{{id|API|GetNumFriends}}() - Returns how many friends are on your friend list.
:{{id|API|GetSelectedFriend}}() - Returns the index of the current selected friend.
:{{id|API|RemoveFriend}}("name" or index) - Removes a friend from your friend list
:{{id|API|SetSelectedFriend}}(index) - Update the current selected friend.
:{{id|API|ShowFriends}}() - Request updated friends information from server.
:UI {{id|API|ToggleFriendsFrame}}([tabNumber]) - Opens/closes the friends pane (possibly on a specific tab).
=== Glyph ===
:{{id|API|GetNumGlyphSockets}}() - Returns the number of Glyph Sockets available at max level. Same result as NUM_GLYPH_SLOTS.
:{{id|API|GetGlyphSocketInfo}}([[Glyph SocketID|socketID]][, talentGroup]) - Returns info on a specific Glyph Socket.
:{{id|API|GetGlyphLink}}([[Glyph SocketID|socketID]][, talentGroup]) - Returns link text for a Glyph in the desired Socket.
:{{id|API|GlyphMatchesSocket}}([[Glyph SocketID|socketID]]) - See if the Glyph held by the cursor matches the desired Socket.
:{{id|API|PlaceGlyphInSocket}}([[Glyph SocketID|socketID]]) - Places the Glyph held by the cursor into the desired Socket.
:{{id|API|RemoveGlyphFromSocket}}([[Glyph SocketID|socketID]]) - Removes the Glyph from the desired Socket.
:{{id|API|SpellCanTargetGlyph}}()
=== GM ===
:{{id|API|CanComplainChat}}(lineID) - determines if should show the menu for reporting a line of chat spam/ 'lineID' comes from the player link in the chat line.
:{{id|API|CanComplainInboxItem}}(index) - determines if we should show the 'report spam' button on a mail item
:{{id|API|ComplainChat}}(lineID) - complains about a particular line of chat spam
:{{id|API|ComplainInboxItem}}(index) - complains about a particular mail item
:PROTECTED {{id|API|DeleteGMTicket}}()
:{{id|API|GMRequestPlayerInfo}}() - access denied (darn)
:{{id|API|GetGMStatus}}()
:{{id|API|GetGMTicket}}()
:{{id|API|GetGMTicketCategories}}() - Return all available ticket categories (not as a table)
:{{id|API|GMSurveyAnswerSubmit}}(question, rank, comment)
:{{id|API|GMSurveyCommentSubmit}}(comment)
:{{id|API|GMSurveyQuestion}}
:{{id|API|GMSurveySubmit}}
:{{id|API|HelpReportLag}}(type) - Uses the Report Lag function on the help screen to report the specified type of lag
:PROTECTED {{id|API|NewGMTicket}}(type,"text")
:PROTECTED UI {{id|API|Stuck}}() - Informs the game engine that the player is Stuck.
:PROTECTED {{id|API|UpdateGMTicket}}(type,"text")
=== Gossip ===
:{{id|API|CloseGossip}}() - Dismiss the gossip window.
:{{id|API|ForceGossip}}() - Returns whether the gossip text ''must'' be displayed. (added 3.3.3)
:{{id|API|GetGossipActiveQuests}}() - Retrieves a list of the active (?) quests on the NPC you are talking to.
:{{id|API|GetGossipAvailableQuests}}() - Retrieves a list of the available (!) quests on the NPC you are talking to.
:{{id|API|GetGossipOptions}}() - Retrieves a list of the available gossip items on the NPC you are talking to.
:{{id|API|GetGossipText}}() - Retrieves the gossip text.
:{{id|API|GetNumGossipActiveQuests}}() - Returns the number of active quests that you should eventually turn in to this NPC.
:{{id|API|GetNumGossipAvailableQuests}}() - Returns the number of quests (that you are not already on) offered by this NPC.
:{{id|API|GetNumGossipOptions}}() - Returns the number of conversation options available with this NPC.
:{{id|API|SelectGossipActiveQuest}}(index) - Selects an active quest.
:{{id|API|SelectGossipAvailableQuest}}(index) - Selects an available quest.
:{{id|API|SelectGossipOption}}(index) - Selects on a gossip item.
=== Group ===
See also the [[#Raid]] section.
:{{id|API|AcceptGroup}}() - Accept the invitation to party.
:{{id|API|ConfirmReadyCheck}}(isReady) - Indicate if you are ready or not.
:{{id|API|ConvertToRaid}}() - Converts party to raid.
:{{id|API|DeclineGroup}}() - Decline the invitation to a party.
:{{id|API|DoReadyCheck}}() - Initiate a ready check.
:{{id|API|GetLootMethod}}() - Return the currently active [[lootMethod]]
:{{id|API|GetLootThreshold}}() - Return the current loot threshold (for group/master loot)
:{{id|API|GetMasterLootCandidate}}(index) - Return the name of a player who is eligible to receive loot in master mode
:{{id|API|GetNumGroupMembers}}([partyCategoryType]) - Returns the number of players in your group, including yourself [0-40]. (added 5.0.4)
:REMOVED {{id|API|GetNumPartyMembers}}() - Returns the number of players in your party, excluding yourself [0-4]. (removed 5.0.4)
:REMOVED {{id|API|GetNumRaidMembers}}() - Returns the number of players in your battleground raid group [0-40]. (removed 5.0.4)
:{{id|API|GetNumSubgroupMembers}}([partyCategoryType]) - Returns number of players in your subgroup, excluding yourself [0-4]. (added 5.0.4)
:REMOVED {{id|API|GetRealNumPartyMembers}}() - Returns the number of other players in your home non-battleground party. (removed 5.0.4)
:REMOVED {{id|API|GetRealNumRaidMembers}}() - Returns the number of players in your non-battleground raid group. (removed 5.0.4)
:{{id|API|GetPartyLeaderIndex}}() - Returns the index of the party leader [1-4] if not yourself.
:{{id|API|GetPartyMember}}(index) - Returns 1 if the party member at the given index exists, nil otherwise..
:{{id|API|InviteUnit}}("name" or "[[unitId|unit]]") - Invites the specified player to the group you are currently in (added 2.0.0)
:{{id|API|IsInGroup}}() - Determines if player is in any kind of group. (added 5.0.4)
:{{id|API|IsInRaid}}() - Determines if player is in raid type group. (added 5.0.4)
:{{id|API|UnitIsGroupAssistant}}("unit"[, partyCategoryType]) - Returns true if the unit is an assistant in your group. (added 5.0.4)
:REMOVED {{id|API|IsRaidOfficer}}() - Returns a value based on whether the player is a raid officer, assistant(?). (removed 5.0.4)
:REMOVED {{id|API|UnitIsRaidOfficer}}("unit") - Returns whether the specified unit is an officer in your raid. (removed 5.0.4)
:{{id|API|UnitIsGroupLeader}}("unit"[, partyCategoryType]) - Returns true if the unit is the leader of its group. (added 5.0.4)
:REMOVED {{id|API|IsRaidLeader}}() - Returns a value based on whether the player is a raid leader. (removed 5.0.4)
:REMOVED {{id|API|IsPartyLeader}}() - Returns true if the player is the party leader. (removed 5.0.4)
:REMOVED {{id|API|UnitIsPartyLeader}}("unit") - Returns true if the unit is the leader of its party. (removed 5.0.4)
:{{id|API|LeaveParty}}() - Quit the party, often useful to troubleshoot "phantom party" bugs which may list you in a party when you are not.
:{{id|API|PromoteToLeader}}("[[unitId|unit]]") - Promote a unit to party leader.
:{{id|API|SetLootMethod}}("[[lootMethod]]"[, "masterPlayer" or threshold]) - Set the current loot method
:{{id|API|SetLootThreshold}}(itemQuality) - Set the threshold for group/master loot
:HW {{id|API|UninviteUnit}}("name" [, "reason"]) - Kick a unit from the party if player is group leader, or initiate a kick vote in an LFD group.
:{{id|API|UnitInParty}}("[[unitId|unit]]") - Returns true if the unit is a member of your party.
=== Guild ===
:{{id|API|AcceptGuild}}() - The player accepts the invitation to join a guild.
:{{id|API|BuyGuildCharter}}("guildName") - Purchases a guild charter for 'guildName'.
:{{id|API|CanEditGuildEvent}}() - Returns true if you are allowed to edit guild events (in the calendar).
:{{id|API|CanEditGuildInfo}}() - Returns true if you are allowed to edit the guild info
:{{id|API|CanEditMOTD}}() - Returns true if you are allowed to edit the guild motd.
:{{id|API|CanEditOfficerNote}}() - Returns true if you are allowed to edit a guild member's officer note.
:{{id|API|CanEditPublicNote}}() - Returns true if you are allowed to edit a guild member's public note.
:{{id|API|CanGuildDemote}}() - Returns true if you are allowed to demote a guild member.
:{{id|API|CanGuildInvite}}() - Returns true if you are allowed to invite a new member to the guild.
:{{id|API|CanGuildPromote}}() - Returns true if you are allowed to promote a guild member.
:{{id|API|CanGuildRemove}}() - Returns true if you are allowed to remove a guild member.
:{{id|API|CanViewOfficerNote}}() - Returns true if you are allowed to view a Officer Note.
:{{id|API|CloseGuildRegistrar}}()
:{{id|API|CloseGuildRoster}}()
:{{id|API|CloseTabardCreation}}()
:{{id|API|DeclineGuild}}() - The player declines the invitation to join a guild.
:{{id|API|GetGuildCharterCost}}() - Returns the cost of purchasing a guild charter.
:{{id|API|GetGuildEventInfo}}(index) - Returns the event information. (added 2.3)
:{{id|API|GetGuildInfo}}("[[unitId|unit]]") - This function returns the name of the guild ''unit'' belongs to.
:{{id|API|GetGuildInfoText}}() - Returns the persistant Guild Information data. (added 1.9)
:{{id|API|GetGuildRosterInfo}}(index) - This function is used to get info on members in the guild.
:{{id|API|GetGuildRosterLastOnline}}(index) - Returns time since last online for indexth member in current sort order.
:{{id|API|GetGuildRosterMOTD}}() - Returns guild's MOTD.
:{{id|API|GetGuildRosterSelection}}() - Returns the index of the current selected guild member.
:{{id|API|GetGuildRosterShowOffline}}() - Returns true if showing offline members of the guild.
:{{id|API|GetNumGuildEvents}}() - Returns the number of guild events. (added 2.3)
:{{id|API|GetNumGuildMembers}}() - Returns the total and online number of guild members.
:{{id|API|GetTabardCreationCost}}() - Returns cost in coppers.
:{{id|API|GetTabardInfo}}()
:{{id|API|GuildControlAddRank}}("name") - Add another rank called "name". Only Guildmaster.
:{{id|API|GuildControlDelRank}}("name") - Delete rank "name". Only Guildmaster.
:{{id|API|GuildControlGetNumRanks}}() - Returns number of ranks after guild frame open. Any guild member can use this.
:{{id|API|GuildControlGetRankFlags}}() - Returns list of values for each permission for a select rank (default rank 1).
:{{id|API|GuildControlGetRankName}}(index) - Returns name of the rank at index. Any guild member can use this.
:{{id|API|GuildControlSaveRank}}("name") - Saves the permissions for rank "name". Only Guildmaster.
:{{id|API|GuildControlSetRank}}(rank) - Sets the currently selected rank to view.
:{{id|API|GuildControlSetRankFlag}}(index, enabled) - Enable/disable permission for an action at index. Only Guildmaster.
:{{id|API|GuildDemote}}("name") - Demotes a player "name".
:{{id|API|GuildDisband}}() - Disbands at once your guild. You must be the guild's leader to do so. Be careful, no warning is given prior disbanding.
:{{id|API|GuildInfo}}() - Displays information about the guild you are a member of.
:{{id|API|GuildInvite}}("name") - Invites a player to your guild.
:{{id|API|GuildLeave}}() - Removes you from your current guild.
:{{id|API|GuildPromote}}("name") - Promotes a player "name".
:{{id|API|GuildRoster}}() - Fetches the guild list and fires a GUILD_ROSTER_UPDATE event.
:{{id|API|GuildRosterSetOfficerNote}}(index, "note") - Sets the officer note at index to "note".
:{{id|API|GuildRosterSetPublicNote}}(index, "note") - Sets the public note at index to "note".
:{{id|API|GuildSetMOTD}}("note") - Set Guild Message of the Day to "note".
:{{id|API|GuildSetLeader}}("name") - Transfers guild leadership to another character.
:{{id|API|GuildUninvite}}("name") - Removes the member "name".
:{{id|API|IsGuildLeader}}("name") - Determine if player "name" is a guild master.
:{{id|API|IsInGuild}}() - Lets you know whether you are in a guild.
:{{id|API|QueryGuildEventLog}}() - Fetches the guild event list and fires a GUILD_EVENT_LOG_UPDATE event. (added 2.3)
:{{id|API|SetGuildInfoText}}() - Sets the persistant Guild Information data. Limit is 500 letters (GuildInfoEditBox is limited to this number). Longer texts are possible, but will be reseted during the day. (added 1.9)
:{{id|API|SetGuildRosterSelection}}(index) - Selects/deselects a guild member according current sorting order.
:{{id|API|SetGuildRosterShowOffline}}(enabled) - Sets/Resets the show offline members flag.
:{{id|API|SortGuildRoster}}("sort") - Sorts guildroster according "sort". Any unknown values sort on "name".
:{{id|API|UnitGetGuildXP}}("[[unitId|unit]]") - Returns information about guild experience for the guild ''unit'' belongs to.
=== Guild Bank ===
All functions were added in 2.3.
:{{id|API|AutoStoreGuildBankItem}}(tab, slot) - Withdraws an item from the bank, and automatically stores it in the player's inventory.
:{{id|API|BuyGuildBankTab}}() - Buys a guild bank tab, without confirmation.
:{{id|API|CanGuildBankRepair}}() - Returns 1 if the player is allowed to pay for repairs with guild bank funds
:{{id|API|CanWithdrawGuildBankMoney}}() - Returns 1 if the player is allowed to withdraw funds from the guild bank (does not require proximity to the guild bank)
:{{id|API|CloseGuildBankFrame}}() - Closes the guild bank frame
:{{id|API|DepositGuildBankMoney}}(money) - Deposits "money" amount in copper.
:{{id|API|GetCurrentGuildBankTab}}() - Integer of selected tab, >= 1
:{{id|API|GetGuildBankItemInfo}}(tab, slot) - Returns texture, amount and integer 1 or nil depending on locked state
:{{id|API|GetGuildBankItemLink}}(tab, slot) - Returns itemLink
:{{id|API|GetGuildBankMoney}}() - Integer, funds available in copper.
:{{id|API|GetGuildBankMoneyTransaction}}(index) - No bank proximity required, however QueryGuildBankLog function requires proximity.
:{{id|API|GetGuildBankTabCost}}() - Integer OR nil - cost in copper OR no tabs available to buy
:{{id|API|GetGuildBankTabInfo}}(tab) - Returns the name and icon of the guild bank tab queried.
:{{id|API|GetGuildBankTabPermissions}}(tab) - Gets display / player's access info. Limited data available without bank proximity.
:{{id|API|GetGuildBankText}}(tab) - Returns text associated with the given guild bank tab
:{{id|API|GetGuildBankTransaction}}(tab, index) - Requires Guild Bank Proximity
:{{id|API|GetGuildBankWithdrawGoldLimit}}() - Returns withdraw limit for currently selected rank in guild control (renamed from 'GetGuildBankWithdrawLimit' 4.0)
:REMOVED 5.1.0 RENAMED 4.0 {{id|API|GetGuildBankWithdrawLimit}}() - Returns withdraw limit for currently selected rank in guild control. (renamed 'GetGuildBankWithdrawGoldLimit' 4.0)(removed 5.1.0)
:{{id|API|GetGuildTabardFileNames}}()
:{{id|API|GetNumGuildBankMoneyTransactions}}() - Returns number of money log entries
:{{id|API|GetNumGuildBankTabs}}() - Integer count of bought tabs, >= 0. No bank proximity required.
:{{id|API|GetNumGuildBankTransactions}}(tab) - Returns number of log transactions for tab "tab"
:{{id|API|PickupGuildBankItem}}(tab, slot) - Picks up an item from the guild bank
:{{id|API|PickupGuildBankMoney}}(money) - Picks up "money" copper from the guild bank
:{{id|API|QueryGuildBankLog}}(tab) - Updates bank log data from the server, called before all transaction functions. "Money tab" is MAX_GUILDBANK_TABS+1
:{{id|API|QueryGuildBankTab}}(tab) - Updates bank tab data from the server, called before all item functions.
:{{id|API|SetCurrentGuildBankTab}}(tab) - Select different bank tab in the UI
:{{id|API|SetGuildBankTabInfo}}(tab, name, iconIndex) - Modifies name and icon for tab
:{{id|API|SetGuildBankTabPermissions}}(tab, index, enabled) - Modifies the permissions for the GuildBankTab. Guild Leader Only.
:{{id|API|SetGuildBankWithdrawGoldLimit}}(amount) - Sets the gold withdraw limit from the guild bank. Guild Leader Only. (renamed from 'SetGuildBankWithdrawLimit' 4.0)
:REMOVED 5.1.0 RENAMED 4.0 {{id|API|SetGuildBankWithdrawLimit}}(amount) - Sets the gold withdraw limit from the guild bank. Guild Leader Only. (renamed 'SetGuildBankWithdrawGoldLimit' 4.0)(removed 5.1.0)
:{{id|API|SplitGuildBankItem}}(tab, slot, amount) - Picks up part of a stack
:{{id|API|WithdrawGuildBankMoney}}(money) - Withdraws "money" copper from the guild bank
=== Honor ===
:{{id|API|GetHolidayBGHonorCurrencyBonuses}}() - Return rewards for participating in a Call to Arms (holiday) battleground. (added 3.3.3)
:{{id|API|GetInspectHonorData}}() - Return honor info for the inspected unit (if available).
:{{id|API|GetPVPLifetimeStats}}() - Get your PvP/Honor statistics for your lifetime.
:{{id|API|GetPVPRankInfo}}(rank[, [[unitId|unit]]]) - Get information about a specific PvP rank.
:{{id|API|GetPVPRankProgress}}() - Get information about the PvP rank progress.
:{{id|API|GetPVPSessionStats}}() - Get your PvP/Honor statistics for this session.
:{{id|API|GetPVPYesterdayStats}}() - Get your PvP/Honor statistics for yesterday.
:{{id|API|GetRandomBGHonorCurrencyBonuses}}() - Returns rewards for participating in a random battleground. (added 3.3.3)
:{{id|API|HasInspectHonorData}}() - Determine if the inspected unit's honor data is available.
:{{id|API|RequestInspectHonorData}}() - Request honor data for inspected unit.
:{{id|API|UnitPVPName}}("[[unitId|unit]]") - Returns unit's name with PvP rank prefix (e.g., "Corporal Allianceguy").
:{{id|API|UnitPVPRank}}("[[unitId|unit]]") - Get PvP rank information for requested unit.
=== Ignore ===
:{{id|API|AddIgnore}}("name") - Add a player to your ignore list.
:{{id|API|AddOrDelIgnore}}("name") - Toggles the ignore state of the specified name.
:{{id|API|DelIgnore}}("name") - Delete a player from your ignore list.
:{{id|API|GetIgnoreName}}(index) - Get the name of the player on your ignore list at index.
:{{id|API|GetNumIgnores}}() - Get the number of players on your ignore list.
:{{id|API|GetSelectedIgnore}}() - Returns the currently selected index in the ignore listing
:{{id|API|SetSelectedIgnore}}(index) - Sets the currently selected ignore entry
=== Inspection ===
:{{id|API|CanInspect}}("unit"[, showError]) - Returns whether you can inspect the specified unit.
:{{id|API|CheckInteractDistance}}("unit", interaction) - Returns whether you're in range to preform various interactions with the specified unit.
:{{id|API|ClearInspectPlayer}}() - Reset inspect data once finished with it.
:{{id|API|GetInspectArenaTeamData}}(index) - Returns information about one of the inspected player's arena teams.
:{{id|API|HasInspectHonorData}}() - Determine if the inspected unit's honor statistics are available.
:{{id|API|RequestInspectHonorData}}() - Request honor information for inspected unit.
:{{id|API|GetInspectHonorData}}() - Return honor information about the inspected player.
:{{id|API|NotifyInspect}}("unit") - Requests information about a unit's inventory and talents from the server.
:UI {{id|API|InspectUnit}}("unit") - Instructs FrameXML to inspect a particular unit (query server; show UI).
=== Instance ===
:{{id|API|CanShowResetInstances}}() - Determine if player can reset instances at the moment.
:{{id|API|GetBattlefieldInstanceExpiration}}() - Get shutdown timer for the battlefield instance.
:{{id|API|GetBattlefieldInstanceInfo}}(index) - Get the instance ID for a battlefield.
:{{id|API|GetBattlefieldInstanceRunTime}}() - In milliseconds, the time since battleground started (seems to be queried from server because it is not in sync with time()).
:{{id|API|GetInstanceBootTimeRemaining}}() - Gets the time in seconds after which the player will be ejected from an instance.
:{{id|API|GetInstanceInfo}}() - Gets informations about the current Instance
:{{id|API|GetNumSavedInstances}}() - Gets the number of instances that the player is saved to.
:{{id|API|GetSavedInstanceInfo}}(index) - Gets information about an instance that the player is saved to.
:{{id|API|IsInInstance}}() - Returns 1 if the player is in an instance, as well as the type of instance (pvp, raid, etc.).
:{{id|API|ResetInstances}}() - Reset instances.
:{{id|API|GetDungeonDifficulty}}() - Returns the player's current Dungeon Difficulty setting (1-3).
:{{id|API|SetDungeonDifficulty}}(difficulty) - Sets the player's Dungeon Difficulty setting (for the 5-man instances).
:{{id|API|GetInstanceDifficulty}}() - Returns the current instance's Dungeon Difficulty (1-4, or 1 if player is not in an instance).
:{{id|API|GetInstanceLockTimeRemaining}}() - Returns information about the instance lock timer for the instance the player is currently entering.
:{{id|API|GetInstanceLockTimeRemainingEncounter}}(id) - Returns information about bosses in the instance the player is about to be saved to.
=== Inventory ===
These functions manage your inventory, that is 'equipped items'. See also the [[#Container / Bag]] and [[#Bank]] sections.
:{{id|API|AutoEquipCursorItem}}() - Causes the equipment on the cursor to be equipped.
:{{id|API|BankButtonIDToInvSlotID}}(buttonID, isBag) - Returns the ID number of a bank button or bag in terms of inventory slot ID.
:{{id|API|CancelPendingEquip}}(index) - This function is used to cancel a pending equip.
:{{id|API|ConfirmBindOnUse}}()
:{{id|API|ContainerIDToInventoryID}}([[bagId|bagID]])
:{{id|API|CursorCanGoInSlot}}([[inventorySlotId|invSlot]]) - Return true if the item currently held by the cursor can go into the given inventory (equipment) slot
:{{id|API|EquipCursorItem}}([[inventorySlotId|invSlot]])
:{{id|API|EquipPendingItem}}([[inventorySlotId|invSlot]]) - Equips the currently pending Bind-on-Equip or Bind-on-Pickup item from the specified inventory slot. (Internal - do not use.)
:{{id|API|GetInventoryAlertStatus}}(index) - Returns one of several codes describing the "status" of an equipped item.
:{{id|API|GetInventoryItemBroken}}("[[unitId|unit]]",[[inventorySlotId|invSlot]]) - Determine if an inventory item is broken (no durability).
:{{id|API|GetInventoryItemCooldown}}("[[unitId|unit]]",[[inventorySlotId|invSlot]]) - Get cooldown information for an inventory item.
:{{id|API|GetInventoryItemCount}}("[[unitId|unit]]",[[inventorySlotId|invSlot]]) - Determine the quantity of an item in an inventory slot.
:{{id|API|GetInventoryItemDurability}}([[inventorySlotId|invSlot]]) - Returns the maximum and remaining durability points for an inventory item.
:{{id|API|GetInventoryItemGems}}(invSlot) - Returns item ids of the gems socketed in the item in the specified inventory slot.
:{{id|API|GetInventoryItemID}}("unit", invSlot) - Returns the item id of the item in the specified inventory slot.
:{{id|API|GetInventoryItemLink}}("[[unitId|unit]]",[[inventorySlotId|slotId]]) - Returns an [[itemLink]] for an inventory (equipped) item.
:{{id|API|GetInventoryItemQuality}}("[[unitId|unit]]",[[inventorySlotId|invSlot]]) - Return the quality of an inventory item.
:{{id|API|GetInventoryItemTexture}}("[[unitId|unit]]",[[inventorySlotId|invSlot]]) - Return the texture for an inventory item.
:{{id|API|GetInventorySlotInfo}}([[inventorySlotName|invSlotName]]) - Get the info for a named inventory slot (slot ID and texture)
:{{id|API|GetWeaponEnchantInfo}}() - Return information about main and offhand weapon enchantments.
:{{id|API|HasWandEquipped}}() - Returns 1 if a wand is equipped, false otherwise.
:{{id|API|IsInventoryItemLocked}}(id) - Returns whether an inventory item is locked, usually as it awaits pending action.
:{{id|API|KeyRingButtonIDToInvSlotID}}(buttonID) - Map a keyring button to an inventory slot button for use in inventory functions.
:{{id|API|PickupBagFromSlot}}(slot) - Picks up the bag from the specified slot, placing it in the cursor. If an item is already picked up, this places the item into the specified slot, swapping the items if needed.
:{{id|API|PickupInventoryItem}}([[inventorySlotId|invSlot]]) - "Picks up" an item from the player's worn inventory.
:{{id|API|UpdateInventoryAlertStatus}}()
:PROTECTED {{id|API|UseInventoryItem}}([[inventorySlotId|invSlot]]) - Use an item in a specific inventory slot.
=== Item ===
These functions operate on item links or item information directly. See also the [[#Container / Bag]] and [[#Inventory]] sections.
:{{id|API|EquipItemByName}}(itemId or "itemName" or "[[itemLink]]"[, [[inventorySlotId|slot]]]) - Equips an item, optionally into a specified slot.
:{{id|API|GetAuctionItemLink}}("type", index) - Returns an [[itemLink]] for the specified auction item.
:{{id|API|GetContainerItemLink}}([[bagId|bagID]], slot) - Returns the [[itemLink]] of the item located in bag#, slot#.
:{{id|API|GetItemCooldown}}(itemID) - Returns startTime, duration, enable.
:{{id|API|GetItemCount}}(itemId or "itemName" or "[[itemLink]]"[, includeBank][, includeCharges]) - Returns number of such items in inventory[, or charges instead if it has charges]
:{{id|API|GetItemFamily}}(itemId or "itemName" or "[[itemLink]]") - Returns the bag type that an item can go into, or for bags the type of items that it can contain. (added 2.4)
:{{id|API|GetItemIcon}}(itemId or "[[itemString]]" or "itemName" or "[[itemLink]]") - Returns the icon for the item. Works for any valid item even if it's not in the cache. (added 2.4)
:{{id|API|GetItemInfo}}(itemId or "[[itemString]]" or "itemName" or "[[itemLink]]") - Returns information about an item.
:{{id|API|GetItemQualityColor}}(quality) - Returns the RGB color codes for a quality.
:{{id|API|GetItemSpell}}(item) - Returns name, rank.
:{{id|API|GetItemStats}}(itemLink, statTable) - Returns a table of stats for an item.
:{{id|API|GetMerchantItemLink}}(index) - Returns an [[itemLink]] for the given purchasable item
:{{id|API|GetQuestItemLink}}("type", index) - Returns an [[itemLink]] for a quest reward item.
:{{id|API|GetQuestLogItemLink}}("type", index) - Returns an [[itemLink]] for a quest reward item.
:{{id|API|GetTradePlayerItemLink}}(id) - Returns an [[itemLink]] for the given item in your side of the trade window (if open)
:{{id|API|GetTradeSkillItemLink}}(index) - Returns the [[itemLink]] for a trade skill item.
:{{id|API|GetTradeSkillReagentItemLink}}(index, reagentId) - Returns the [[itemLink]] for one of the reagents needed to craft the given item
:{{id|API|GetTradeTargetItemLink}}(id) - Returns an [[itemLink]] for the given item in the other player's side of the trade window (if open)
:{{id|API|IsUsableItem}}(item) - Returns usable, noMana.
:{{id|API|IsConsumableItem}}(item)
:{{id|API|IsCurrentItem}}(item)
:{{id|API|IsEquippedItem}}(item)
:{{id|API|IsEquippableItem}}(itemId or "itemName" or "[[itemLink]]") - Returns 1 or nil.
:{{id|API|IsEquippedItemType}}("type") - Where "type" is any valid inventory type, item class, or item subclass.
:{{id|API|IsItemInRange}}("itemName" or "[[itemLink]]", "[[unitId|unit]]") - Nil for invalid target, 0 for out of range, 1 for in range.
:{{id|API|ItemHasRange}}(item)
:{{id|API|OffhandHasWeapon}}() - Determine if your offhand carries a weapon.
:{{id|API|SplitContainerItem}}(bagID,slot,amount) - Picks up part of a stack.
:UI {{id|API|SetItemRef}}(link, text, button) - Handles item link tooltips in chat.
=== Item Socketing ===
The following were introduced along with socketed items and gems in 2.0. The 'id' refers to a 1-based index of the sockets in the item being considered for socketing.
:{{id|API|AcceptSockets}}() - Sockets tentative gems into the sockets, replacing existing gems if necessary.
:{{id|API|ClickSocketButton}}(id) - If the cursor is currently holding a gem, tentatively insert it into the socket.
:{{id|API|CloseSocketInfo}}() - Stops considering the item for socketing, without applying changes.
:{{id|API|GetSocketItemInfo}}() - Returns information about the item currently being socketed.
:{{id|API|GetSocketItemRefundable}}() - Returns whether the item currently being socketed is refundable.
:{{id|API|GetSocketItemBoundTradeable}}() - Returns if the item currently being socketed is temporarily tradable (BoP boss loot).
:{{id|API|GetNumSockets}}() - Returns the number of sockets in the item currently being socketed.
:{{id|API|GetSocketTypes}}(id) - Returns the type (color) of a socket in the item.
:{{id|API|GetExistingSocketInfo}}(id) - Returns information about the existing gem in the socket.
:{{id|API|GetExistingSocketLink}}(id) - Returns an item link for the existing gem in the socket.
:{{id|API|GetNewSocketInfo}}(id) - Returns information about the new (tentative) gem in the socket.
:{{id|API|GetNewSocketLink}}(id) - Returns an item link for the new (tentative) gem in the socket.
:{{id|API|SocketInventoryItem}}(slot) - Considers the item in the inventory slot for socketing.
:{{id|API|SocketContainerItem}}(bag, slot) - Consider an item in a container slot for socketing.
=== Item Text ===
These functions relate to item text: books, etc...
:{{id|API|CloseItemText}}() - Close an open item text: books, plaques, etc...
:{{id|API|ItemTextGetCreator}}() - Get the creator of the current text, if player-created.
:{{id|API|ItemTextGetItem}}() - Get the name of the text.
:{{id|API|ItemTextGetMaterial}}() - Get the material on which the text is printed.
:{{id|API|ItemTextGetPage}}() - Get the page number of the currently viewed page.
:{{id|API|ItemTextGetText}}() - Get the page contents of the currently viewed page.
:{{id|API|ItemTextHasNextPage}}() - Determine if there is another page after the current one.
:{{id|API|ItemTextNextPage}}() - Request the next page of the text.
:{{id|API|ItemTextPrevPage}}() - Request the previous page of the text.
=== Knowledge Base ===
:{{id|API|KBArticle_BeginLoading}}(articleId, searchType) - Starts the article loading process.
:{{id|API|KBArticle_GetData}}() - Returns information about the current article.
:{{id|API|KBArticle_IsLoaded}}() - Returns true if an article is loaded.
:{{id|API|KBQuery_BeginLoading}}(searchText, categoryIndex, subcategoryIndex, articlesPerPage, curPage) - Starts a query for articles.
:{{id|API|KBQuery_GetArticleHeaderCount}}() - Returns the number of article headers in the current query.
:{{id|API|KBQuery_GetArticleHeaderData}}(index) - Returns information about an article header of the current query.
:{{id|API|KBQuery_GetTotalArticleCount}}() - Returns the total number of articles that matches the current query.
:{{id|API|KBQuery_IsLoaded}}() - Returns true if a query loaded successfuly.
:{{id|API|KBSetup_BeginLoading}}(articlesPerPage, curPage) - Starts the loading process for the KB start page.
:{{id|API|KBSetup_GetArticleHeaderCount}}() - Returns the number of articles for the current page.
:{{id|API|KBSetup_GetArticleHeaderData}}(index) - Returns information for an article header.
:{{id|API|KBSetup_GetCategoryCount}}() - Returns the number of categories in the knowledge base.
:{{id|API|KBSetup_GetCategoryData}}(index) - Returns information about a category.
:{{id|API|KBSetup_GetLanguageCount}}() - Returns the number of languages in the knowledge base.
:{{id|API|KBSetup_GetLanguageData}}(index) - Returns information about a language.
:{{id|API|KBSetup_GetSubCategoryCount}}(category) - Returns the number of subcategories for a category.
:{{id|API|KBSetup_GetSubCategoryData}}(category, index) - Returns information about a subcategory.
:{{id|API|KBSetup_GetTotalArticleCount}}() - Returns the total number of articles in the knowlege base.
:{{id|API|KBSetup_IsLoaded}}() - Returns true if the knowledge base is loaded successfuly.
:{{id|API|KBSystem_GetMOTD}}() - Returns the server message of the day.
:{{id|API|KBSystem_GetServerNotice}}() - Returns the server notice.
:{{id|API|KBSystem_GetServerStatus}}() - Returns the server status text.
=== Location ===
These functions relate to the current location of the player and how it's displayed.
:{{id|API|GetMinimapZoneText}}() - Returns the zone text, that is displayed over the minimap.
:{{id|API|GetRealZoneText}}() - Returns either instance name or zone name
:{{id|API|GetSubZoneText}}() - Returns the subzone text, e.g. "The Canals".
:{{id|API|GetZonePVPInfo}}() - Returns PVP info for the current zone.
:{{id|API|GetZoneText}}() - Returns the zone text, e.g. "Stormwind City".
=== Looking for Group ===
Functions for use in the 'Looking for Group' tool. See also the [[#Dungeon Finder]] and [[#Raid Browser]] sections.
:{{id|API|CompleteLFGRoleCheck}}(boolean) - Passing false means declining the roleCheck.  The returned boolean seems to indicate that the roleCheck was successful?
:{{id|API|GetLFGDeserterExpiration}}() - Returns the time at which you may once again use the dungeon finder after prematurely leaving a group. (added 3.3.3)
:{{id|API|GetLFGRandomCooldownExpiration}}() - Returns the time at which you may once again queue for a random dungeon. (added 3.3.3)
:{{id|API|GetLFGBootProposal}}() - Returns information about an LFG Kick vote in progress.
:UI {{id|API|GetLFGMode}}() - returns mode, subMode (sometimes empty result)
:{{id|API|GetLFGQueueStats}}() - returns current state and wait times for being in queue
:{{id|API|GetLFGRoles}}() - returns isLeader, isTank, isHealer, isDPS - Returns the roles you signed up as, not the role you were assigned.
:{{id|API|GetLFGRoleUpdate}}() - returns roleCheckInProgress, slots, members
:{{id|API|GetLFGRoleUpdateSlot}}(slot) - returns dungeonType, dungeonID for a particular role slot (integer)
:{{id|API|SetLFGBootVote}}(boolean) - responds to a vote-kick
:{{id|API|SetLFGComment}}("comment")
:{{id|API|SetLFGRoles}}(isLeader, isTank, isHealer, isDPS) - changes the selected roles
:{{id|API|UninviteUnit}}("name" [, "reason"]) - initiate a kick vote in a LFD group.
:{{id|API|UnitGroupRolesAssigned}}(UnitID) - Return's the targeted unit's assigned role.
:{{id|API|UnitHasLFGDeserter}}("unit") - returns whether the specified unit has recently deserted
:{{id|API|UnitHasLFGRandomCooldown}}("unit") - returns whether the specified unit has recently queued for a random
=== Loot ===
Automatic looting behavior is controlled by [[CVar autoLootDefault|autoLootDefalt]] [[CVar]].
:{{id|API|CloseLoot}}([uiFailedFlag])
:PROTECTED {{id|API|ConfirmBindOnUse}}()
:{{id|API|ConfirmLootRoll}}(rollId[, roll]) - Confirm a loot roll (added 1300)
:{{id|API|ConfirmLootSlot}}(slot) - Confirm looting of a BoP item.
:{{id|API|GetLootMethod}}() - Return the currently active [[lootMethod]]
:{{id|API|GetLootRollItemInfo}}(rollId)
:{{id|API|GetLootRollItemLink}}(rollId)
:{{id|API|GetLootRollTimeLeft}}(rollid)
:{{id|API|GetLootSlotInfo}}(slot) - Returns icon path, item name, and item quantity for the item in the given loot window slot
:{{id|API|GetLootSlotLink}}(slot) - Returns an [[itemLink]] for the item in the given loot window slot
:{{id|API|GetLootThreshold}}() - Return the current loot threshold (for group/master loot)
:{{id|API|GetMasterLootCandidate}}(index) - Return the name of a player who is eligible to receive loot in master mode
:{{id|API|GetNumLootItems}}() - Returns amount of objects to loot (number)
:{{id|API|GetOptOutOfLoot}}() - Return whether the character is currently automatically passing on all loot.
:{{id|API|GiveMasterLoot}}(slot,index)
:{{id|API|IsFishingLoot}}()
:{{id|API|LootSlot}}(slot) - Used to loot the specified slot.
:{{id|API|LootSlotIsCoin}}(slot) - Returns 1 if the given loot window slot contains coins (copper, silver, gold)
:{{id|API|LootSlotIsCurrency}}(slot) - Returns 1 if the given loot window slot contains a form of currency (archaeology fragments)
:{{id|API|LootSlotHasItem}}(slot)
:RENAMED {{id|API|LootSlotIsItem}}(slot) (renamed to LootSlotHasItem 5.0.2)
:{{id|API|RollOnLoot}}(rollId[, roll]) - Roll or pass on a loot event started by the game engine.
:{{id|API|SetLootMethod}}("[[lootMethod]]"[, "masterPlayer" or threshold]) - Set the current loot method.
:{{id|API|SetLootPortrait}}()
:{{id|API|SetLootThreshold}}([[itemQuality]]) - Set the threshold for group/master loot.
:{{id|API|SetOptOutOfLoot}}(optOut) - Enables or disables automatic passing on all loot.
=== Macro ===
: NOCOMBAT {{id|API|CreateMacro}}("name", icon, "body", perCharacter, isLocal) - Create a new macro. (nocombat 2.0)
:{{id|API|CursorHasMacro}}() - Returns 1 if the cursor is currently dragging a macro. (added 2.0.3)
:{{id|API|DeleteMacro}}(id or "name") - Deletes a macro.
: NOCOMBAT {{id|API|EditMacro}}(index, "name", iconIndex, "body", isLocal, perCharacter) - Saves a macro. (nocombat 2.0)
:{{id|API|GetMacroBody}}(id or "name") - Returns the body (macro text) of a macro.
:{{id|API|GetMacroIconInfo}}(index) - Returns texture of the icons provided by Blizzard.
:{{id|API|GetMacroItemIconInfo}}(index) - Returns texture of the item icons provided by Blizzard
:{{id|API|GetMacroIndexByName}}("name") - Returns macro index.
:{{id|API|GetMacroInfo}}(id or "name") - Returns "name", "iconTexture", "body", isLocal.
:{{id|API|GetNumMacroIcons}}() - Returns the number of usable icons provided by Blizzard.
:{{id|API|GetNumMacroItemIcons}}() - Returns the number of usable item icons provided by Blizzard.
:{{id|API|GetNumMacros}}() - Returns the number of macros the user has.
:{{id|API|PickupMacro}}(id or "name") - Pickup a macro button icon.
:PROTECTED {{id|API|RunMacro}}(id or "name") - Runs a macro.
:PROTECTED {{id|API|RunMacroText}}("macro") - Interpret the given string as a macro and run it.
:{{id|API|SecureCmdOptionParse}}("command") - Used for evaluating conditionals in macros, returning the appropriate choice.
:PROTECTED {{id|API|StopMacro}}() - Stops the currently executing macro.
=== Mail ===
See also [[Events/Mail|Events associated with Mail]].
:{{id|API|AutoLootMailItem}}(index) - Loot all items from mail message.
:{{id|API|CheckInbox}}() - Populate client's inbox with mail from server.
:{{id|API|ClearSendMail}}() - This clears the text in the send mail tab and places the COD item in the inventory.
:{{id|API|ClickSendMailItemButton}}([itemIndex, [clearItem]]) - Places or picks up an item from the send mail frame.
:{{id|API|CloseMail}}() - Closes the mail window.
:{{id|API|DeleteInboxItem}}(index) - Deletes the inbox item at index. It returns immediately, it does not seem to wait for the deletion to go through, giving the normal problems with rapid mail removal attempts.
:{{id|API|DropCursorMoney}} - Drops the amount of money held by the cursor.
:{{id|API|GetCoinIcon}}(amount)
:{{id|API|GetInboxHeaderInfo}}(index) - Returns information about a message in the inbox.
:{{id|API|GetInboxItem}}(index, itemIndex) - Returns description of the attachment attached to message at (index).
:{{id|API|GetInboxItemLink}}(index, itemIndex) - Returns link of the attachment attached to message at (index).
:{{id|API|GetInboxNumItems}}() - Returns the number of messages in your inbox.
:{{id|API|GetInboxText}}(index) - Returns the message text of message at (index).
:{{id|API|GetInboxInvoiceInfo}}(index) - Returns informations about an auction house invoice.
:{{id|API|GetLatestThreeSenders}} - Returns the senders of the most recent unread mail.
:{{id|API|GetNumPackages}}() - Not yet fully implemented. Currently it always returns 1.
:{{id|API|GetNumStationeries}}() - Not yet fully implemented. Currently it always returns 1.
:{{id|API|GetPackageInfo}}(index) - Not yet fully implemented. Currently an index of 1 returns "Test Package".
:{{id|API|GetSelectedStationeryTexture}}() - Not yet fully implemented. Currently it returns "STATIONERYTEST" when the mailbox is open.
:{{id|API|GetSendMailCOD}}() - determine amount of gold entered in COD box in mail frame when mail is sent
:{{id|API|GetSendMailItem}}(index) - Get information about an item attached on the send mail frame.
:{{id|API|GetSendMailItemLink}}(index) - Get link for an item attached on the send mail frame.
:{{id|API|GetSendMailMoney}}()
:{{id|API|GetSendMailPrice}}() - Gets the cost for sending mail.
:{{id|API|GetStationeryInfo}}(index) - Not yet fully implemented. Currently an index of 1 returns "Default Stationery".
:{{id|API|HasNewMail}}() - Returns nil if there is no new mail.
:{{id|API|InboxItemCanDelete}}(index) - Boolean check for whether a message is returnable to the sender.
:{{id|API|ReturnInboxItem}}(index) - Returns to the sender the attached item in the mail message at the specified index.
:{{id|API|SelectPackage}}(index) - Not yet fully implemented. It does nothing visible.
:{{id|API|SelectStationery}}(index) - Not yet fully implemented. It does nothing visible.
:{{id|API|SendMail}}("target", "subject", "body") - If the mailbox is open, this sends mail.
:PROTECTED {{id|API|SetSendMailCOD}}(amount) - Make next mail sent using SendMail() COD target for amount. (protected 2.0)
:PROTECTED {{id|API|SetSendMailMoney}}(amount) - Add money to next mail sent using SendMail(). (protected 2.0)
:{{id|API|TakeInboxItem}}(index, itemIndex) - Take the attached item from the mailbox message at index.
:{{id|API|TakeInboxMoney}}(index) - Take the attached money from the mailbox message at index.
:{{id|API|TakeInboxTextItem}}(index) - Creates a permanent copy of letter (readable "Plain Letter").
=== Mapping ===
These functions are related to display of the world map.
:{{id|API|ClickLandmark}}(id)
:{{id|API|GetChallengeModeMapInfo}} - Returns details about the challenge mode for an instance map
:{{id|API|GetCorpseMapPosition}}() - Returns the position of the corpse on the current world map.
:{{id|API|GetCurrentMapContinent}}() - Returns the number of the continent the world map is currently shown.
:{{id|API|GetCurrentMapDungeonLevel}}() - Returns which level of a multi-level map is currently shown.
:{{id|API|GetNumDungeonMapLevels}}() - Returns the number of levels in the currently shown zone map (0 for none).
:{{id|API|GetCurrentMapAreaID}} () - Returns the area id of the current map.
:{{id|API|GetCurrentMapZone}}() - Returns the number of the zone the world map is currently showing.
:{{id|API|GetMapContinents}}() - Returns the continent names.
:{{id|API|GetMapDebugObjectInfo}}(id)
:{{id|API|GetMapInfo}}() - Returns the name and size of the current world map.
:{{id|API|GetMapLandmarkInfo}}(landmarkIndex) - Returns information about a landmark on the current world map.
:{{id|API|GetMapNameByID}}(id) - Returns the localized map name for a given MapID
:{{id|API|GetMapOverlayInfo}}(overlayIndex) - Returns information about an overlay on the current world map.
:{{id|API|GetMapZones}}(continentIndex) - Returns the zone names of a continent.
:{{id|API|GetNumMapDebugObjects}}()
:{{id|API|GetNumMapLandmarks}}() - Returns the number of landmarks on the current world map.
:{{id|API|GetNumMapOverlays}}() - Returns the number of overlays on the current world map.
:{{id|API|GetPlayerMapPosition}}("[[unitId|unit]]") - Returns the position of a unit on the current world map.
:{{id|API|ProcessMapClick}}(x,y) - Passes a click to the client, which then calculates if the zone has to be changed.
:{{id|API|QuestMapGetPOIInfoForQuest}}(questIndex, poiIndex) - returns details about a point of interest on the map
:{{id|API|RequestBattlefieldPositions}}() - Request new data for GetBattlefieldPosition().
:{{id|API|SetDungeonMapLevel}}(level) - Sets which level of a multi-level map (Dalaran, dungeons, etc) is currently shown.
:{{id|API|SetMapByID}}(id) - Set map by area id.
:{{id|API|SetMapToCurrentZone}}() - Sets the current world map to the zone the player is presently in.
:{{id|API|SetMapZoom}}(continentIndex[, zoneIndex]) - Sets the current world map to a specific continent and optionally zone.
:{{id|API|SetupFullscreenScale}}() - Configures scale of full-screen views, such as the world map, to best fill screen.
:UI {{id|API|ToggleWorldMap}}() - Turns the world map on/off.
:{{id|API|UpdateMapHighlight}}(x,y) - Provides map rollover information for highlighting.
:{{id|API|CreateWorldMapArrowFrame}}("frame") - create a arrow cursor for the player position and orientation.
:{{id|API|UpdateWorldMapArrowFrames}}() - update the orientation of the arrow cursor based on the current player orientation.
:{{id|API|ShowWorldMapArrowFrame}}(bool) - show or hide the arrow representing the player.
:{{id|API|PositionWorldMapArrowFrame}}(x,y) - set the position of the arrow representing the player
:{{id|API|ZoomOut}}() - "Zooms out" of the current map: going from zone to continent to world view.
=== Merchant ===
:{{id|API|BuyMerchantItem}}(index[, qty]) - Buys an item from a merchant.
:{{id|API|BuybackItem}}(index) - Buys back a sold item.
:{{id|API|CanMerchantRepair}}() - Returns true if the merchant can repair items.
:{{id|API|CloseMerchant}}() - Closes the merchant window.
:{{id|API|GetBuybackItemInfo}}(index) - Returns information about the buyback item.
:{{id|API|GetBuybackItemLink}}(index) - Returns an [[itemLink]] for the buyback item.
:{{id|API|GetMerchantItemCostInfo}} (index) - Returns "alternative currency" information about an item.
:{{id|API|GetMerchantItemCostItem}} (index, itemIndex) - Returns information about an "alternative currency" component of the price for a purchasable item.
:{{id|API|GetMerchantItemInfo}}(index) - Returns information about the given purchasable item
:{{id|API|GetMerchantItemLink}}(index) - Returns an [[itemLink]] for the given purchasable item
:{{id|API|GetMerchantItemMaxStack}}(index) - Returns the maximum number of items in a stack.
:{{id|API|GetMerchantNumItems}}() - Returns the number of items the merchant sells.
:{{id|API|GetRepairAllCost}}()
:{{id|API|HideRepairCursor}}()
:{{id|API|InRepairMode}}() - Returns true if your cursor is in repair mode
:{{id|API|PickupMerchantItem}}(index) - Places the item on the cursor.
:{{id|API|RepairAllItems}}([guildBankRepair]) - Repairs all equipped and inventory items.
:{{id|API|ShowMerchantSellCursor}}(index) - Changes the cursor to the merchant sell cursor.
:{{id|API|ShowRepairCursor}}()
:{{id|API|GetNumBuybackItems}}() - Returns number of items available for buyback
=== Movement ===
Most of these functions may only called on a hardware event from 'secure' code.
:{{id|API|FollowUnit}}("[[unitId|unit]]") - Follow an ally with the specified UnitID
:PROTECTED {{id|API|CameraOrSelectOrMoveStart}}() - Begin "Left click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|CameraOrSelectOrMoveStop}}([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|JumpOrAscendStart}}() - Makes the player jump.
:PROTECTED {{id|API|AscendStop}}() - Called when you release the jump key.
:PROTECTED {{id|API|MoveBackwardStart}} - The player begins moving backward at the specified time.
:PROTECTED {{id|API|MoveBackwardStop}} - The player stops moving backward at the specified time.
:PROTECTED {{id|API|MoveForwardStart}} - The player begins moving forward at the specified time.
:PROTECTED {{id|API|MoveForwardStop}} - The player stops moving forward at the specified time.
:PROTECTED {{id|API|StrafeLeftStart}} - The player begins strafing left at the specified time.
:PROTECTED {{id|API|StrafeLeftStop}} - The player stops strafing left at the specified time.
:PROTECTED {{id|API|StrafeRightStart}} - The player begins strafing right at the specified time.
:PROTECTED {{id|API|StrafeRightStop}} - The player stops strafing right at the specified time.
:PROTECTED {{id|API|ToggleAutoRun}} - Turns auto-run on or off
:PROTECTED {{id|API|ToggleRun}} - Toggle between running and walking.
:PROTECTED {{id|API|TurnLeftStart}} - The player starts turning left at the specified time.
:PROTECTED {{id|API|TurnLeftStop}} - The player stops turning left at the specified time.
:PROTECTED {{id|API|TurnOrActionStart}}() - Begin "Right Click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|TurnOrActionStop}}() - End "Right Click" in the 3D world. (protected 1.10)
:PROTECTED {{id|API|TurnRightStart}} - The player starts turning right at the specified time.
:PROTECTED {{id|API|TurnRightStop}} - The player stops turning right at the specified time.
=== Music Player ===
These functions were exclusive to the Mac client, added in 1.12. The functions are protected and are only called through key bindings, thus they only serve to enable you to bind specific keys to control iTunes while using the WoW client.
:PROTECTED {{id|API|MusicPlayer_BackTrack}}() - Go back a track.
:PROTECTED {{id|API|MusicPlayer_NextTrack}}() - Go forward a track.
:PROTECTED {{id|API|MusicPlayer_PlayPause}}() - Toggle play/pause.
:PROTECTED {{id|API|MusicPlayer_VolumeDown}}() - Reduce music volume.
:PROTECTED {{id|API|MusicPlayer_VolumeUp}}() - Increase music volume.
=== Pet ===
:PROTECTED {{id|API|CastPetAction}}(index) - Cast the corresponding pet skill.
:{{id|API|ClosePetStables}}() - Close the pet stables user interface.
:{{id|API|DropItemOnUnit}}("[[unitId|unit]]") - Drops an item from the cursor onto a unit.
:{{id|API|GetPetActionCooldown}}(index) - Returns cooldown information for the pet action at the specificed pet action bar slot.
:{{id|API|GetPetActionInfo}}(index) - Returns information on the pet action at the specified pet action bar slot.
:{{id|API|GetPetActionSlotUsable}}(slot)
:{{id|API|GetPetActionsUsable}}() - Returns a value indicating if the player's pet's actions can be used at this time.
:{{id|API|GetPetExperience}}() - Returns the pet's current xp, and total xp required for next level.
:{{id|API|GetPetFoodTypes}}() - Returns a list of the food types the player's pet can eat.
:{{id|API|GetPetHappiness}}() - Returns the pet's happiness, damage percentage, and loyalty gain rate.
:{{id|API|GetPetIcon}}() - Returns the path to the texture to use as the icon for the player's pet.
:{{id|API|GetPetTimeRemaining}}() - Returns in milliseconds about some timeout for the player's pet.
:{{id|API|GetStablePetFoodTypes}}(index) - Returns a list of the food types a specific stabled pet can eat.
:{{id|API|GetStablePetInfo}}(index) - Returns information about a specific stabled pet.
:{{id|API|HasPetSpells}}() - Returns true if the player has pet spells.
:{{id|API|HasPetUI}}() - Returns 1 if the player has a pet User Interface.
:{{id|API|PetAbandon}}() - Permanently abandons your pet.
:PROTECTED {{id|API|PetAggressiveMode}}() - Set your pet in aggressive mode. (protected 2.0)
:PROTECTED {{id|API|PetAttack}}() - Instruct your pet to attack your target. (protected 2.0)
:{{id|API|IsPetAttackActive}}() - Returns true if the pet is currently attacking.
:{{id|API|PetStopAttack}}() - Stop the attack of the pet.
:{{id|API|PetCanBeAbandoned}}() - Returns true if the pet is abandonable.
:{{id|API|PetCanBeDismissed}}()
:{{id|API|PetCanBeRenamed}}() - Returns true if the pet can be renamed.
:PROTECTED {{id|API|PetDefensiveMode}}() - Set your pet in defensive mode. (protected 2.0)
:{{id|API|PetDismiss}}() - Dismiss your pet.
:PROTECTED {{id|API|PetFollow}}() - Instruct your pet to follow you. (protected 2.0)
:{{id|API|PetHasActionBar}}() - Determine if player has a pet with an action bar.
:PROTECTED {{id|API|PetPassiveMode}}() - Set your pet into passive mode. (protected 2.0)
:{{id|API|PetRename}}("name&quot;) - Renames the pet.
:PROTECTED {{id|API|PetWait}}() - Instruct your pet to remain still. (protected 2.0)
:{{id|API|PickupPetAction}}(slot) - Drags an action from the specified pet action bar slot into the cursor.
:{{id|API|PickupStablePet}}(index)
:{{id|API|SetPetStablePaperdoll}}(modelObject)
:PROTECTED {{id|API|TogglePetAutocast}}(index) - Toggles whether the specified pet ability should autocast or not.
:PROTECTED {{id|API|ToggleSpellAutocast}}("spellName" | spellId, bookType) - Toggles whether the specified spell should autocast or not.
:{{id|API|GetSpellAutocast}}("spellName" | spellId, bookType) - Check whether the specified spell autocasts or not.
=== Petition ===
Petitions are signup documents for guilds and arena teams. Some functions below only apply to a particular petition type.
:{{id|API|ClosePetition}}() - Closes the current petition.
:{{id|API|GetNumPetitionNames}}() - Gets the number of signatures on the current petition.
:{{id|API|GetPetitionInfo}}() - Retrieves information about the current petition.
:{{id|API|GetPetitionNameInfo}}(index) - Retrieves information about a signature on the petition.
:{{id|API|OfferPetition}}() - Offers a petition to your target, inviting them to join your would-be guild/arena team.
:{{id|API|RenamePetition}}("name") - Renames the current petition.
:{{id|API|SignPetition}}() - Signs the current petition.
:{{id|API|TurnInGuildCharter}}() - Founds a guild.
=== Quest ===
See also the [[#Gossip]] section.
:{{id|API|AbandonQuest}} - Abandon the specified quest.
:{{id|API|AcceptQuest}} - Accept the specified quest.
:{{id|API|AddQuestWatch}}(questIndex[, watchTime]) - Add a quest to the watch list.
:{{id|API|AddWorldQuestWatch}}(questId) - Add a world quest to the watch list.
:{{id|API|CloseQuest}}
:{{id|API|CollapseQuestHeader}} - Collapses a quest header.
:{{id|API|CompleteQuest}} - Complete the specified quest.
:{{id|API|ConfirmAcceptQuest}} - Accept an escort quest being started by a player nearby.
:{{id|API|DeclineQuest}} - Declines the currently offered quest.
:{{id|API|ExpandQuestHeader}} - Expands a quest header.
:{{id|API|GetAbandonQuestName}} - Gets the name of a quest while it is being abandoned.
:{{id|API|GetActiveLevel}}(index) - Gets the level of an active quest (only available after QUEST_GREETING event).
:{{id|API|GetActiveTitle}}(index) - Gets the title of an active quest (only available after QUEST_GREETING event).
:{{id|API|GetAvailableLevel}}(index) - Gets the level of an available quest (only available after QUEST_GREETING event).
:{{id|API|GetAvailableTitle}}(index) - Gets the title of an available quest (only available after QUEST_GREETING event).
:{{id|API|GetAvailableQuestInfo}}(index) - Returns metadata (quest type) about an available quest. (added 3.3.3)
:{{id|API|GetDailyQuestsCompleted}} - Return the current number of daily quests completed today.
:{{id|API|GetGreetingText}}()
:{{id|API|GetMaxDailyQuests}} - Returns the maximum number of daily quests completable in one day.
:{{id|API|GetNumActiveQuests}} - Gets the number of currently active quests from this NPC (only available after QUEST_GREETING event).
:{{id|API|GetNumAvailableQuests}} - Gets the number of currently available quests from this NPC (only available after QUEST_GREETING event).
:{{id|API|GetNumQuestChoices}} - Returns the number of rewards available for choice for quest currently in gossip window.
:{{id|API|GetNumQuestItems}} - Returns the number of items necessary to complete a particular quest.
:{{id|API|GetNumQuestLeaderBoards}}([questIndex]) - Returns the number of available quest objectives.
:{{id|API|GetNumQuestLogChoices}} - Returns the number of options someone has when getting a quest item.
:{{id|API|GetNumQuestLogEntries}} - Returns the number of entries in the quest log.
:{{id|API|GetNumQuestLogRewards}} - Returns the count of the rewards for a particular quest.
:{{id|API|GetNumQuestRewards}} - Returns number of reward items (those that you always get) for quest currently in gossip window.
:{{id|API|GetNumQuestWatches}}() - Returns the number of quest watches active.
:{{id|API|GetObjectiveText}}() - Gets the objective of the current quest.
:{{id|API|GetProgressText}}() - Returns quest progress text, displayed by the NPC before the player pressed "Continue".
:{{id|API|GetQuestBackgroundMaterial}} - Returns the material string associated with the particular quest.
:{{id|API|GetQuestsCompleted}}([table]) - Returns list of completed quests. only available after QUEST_QUERY_COMPLETE event. (added 3.3.0)
:{{id|API|GetQuestGreenRange}}() - Return for how many levels below you quests and mobs remain "green" (i.e. yield xp)
:{{id|API|GetQuestIndexForTimer}}
:{{id|API|GetQuestIndexForWatch}}(watchIndx) - Return the quest index for the specified watch
:{{id|API|GetQuestItemInfo}} - Returns basic information about the reward/choice/required item for quest currently in gossip window.
:{{id|API|GetQuestItemLink}} - Returns an [[itemLink]] for a selected quest reward/choice/required item for quest currently in gossip window.
:{{id|API|GetQuestLink}}(index) - Returns a [[QuestLink]] for a quest
:{{id|API|GetQuestLogChoiceInfo}} - Returns a bunch of data about a quest reward choice from the quest log.
:{{id|API|GetQuestLogGroupNum}}() - Returns suggested number of players for quest selected currently in log or 0 if there's no suggestion.
:{{id|API|GetQuestLogItemLink}} - Returns item link for selected quest reward/choice/required item from quest log.
:{{id|API|GetQuestLogLeaderBoard}}(ldrIndex[, questIndex]) - Gets information about the objectives for a quest.
:{{id|API|GetQuestLogPushable}} - Returns true if the currently loaded quest in the quest window can be shared.
:{{id|API|GetQuestLogQuestText}} - Returns the description and objectives required for the specified quest.
:{{id|API|GetQuestLogRequiredMoney}} - Returns amount of money required for quest completion from quest log.
:{{id|API|GetQuestLogRewardInfo}} - Returns a pile of reward item info from the quest log.
:{{id|API|GetQuestLogRewardMoney}} - Returns a number representing the amount of copper returned by a particular quest.
:{{id|API|GetQuestLogRewardSpell}} - Returns name and texture of spell awarded for quest completion from quest log.
:{{id|API|GetQuestLogRewardTalents}} - Returns number of talents awarded for quest completion from quest log.
:{{id|API|GetQuestLogRewardXP}} - Returns the amount of experience awarded by a particular quest.
:{{id|API|GetQuestLogSelection}} - Returns a number associated with the QuestLogSelection index.
:{{id|API|GetQuestLogTimeLeft}} - Returns the seconds remaining on the current quest timer.
:{{id|API|GetQuestLogTitle}}(index) - Returns verbose data about a particular quest log entry: level requirement, tag, suggested group, completed status, etc.
:{{id|API|GetQuestMoneyToGet}} - Returns amount of money required for quest currently displayed in gossip.
:{{id|API|GetQuestResetTime}} - Returns number of seconds until quest reset.
:{{id|API|GetQuestReward}}(rewardIndex) - Completes the quest with the specified quest reward.
:{{id|API|GetQuestText}} - Gets the description of the current quest.
:{{id|API|GetQuestTimers}} - Returns all of the quest timers currently in progress.
:{{id|API|GetRewardArenaPoints}}() - Returns the amount of arena points awarded by the currently displayed quest.
:{{id|API|GetRewardHonor}}() - Returns the amount of honor points awarded by the currently displayed quest.
:{{id|API|GetRewardMoney}}() - Returns a amount of copper rewarded for completion of quest displayed in gossip.
:{{id|API|GetRewardSpell}}() - Returns name and texture of spell awarded for quest completion for quest currently in gossip window.
:{{id|API|GetRewardTalents}}() - Returns number of talents awarded for quest completion for quest currently in gossip window.
:{{id|API|GetRewardText}}() - Returns quest reward text, displayed by the NPC before the player hits "Complete Quest".
:{{id|API|GetRewardTitle}}() - Returns the title awarded by the currently displayed quest.
:{{id|API|GetRewardXP}}() - Returns the amount of experience awarded by the currently displayed text.
:{{id|API|GetTitleText}} - Retrieves the title of the quest while talking to the NPC about it.
:{{id|API|IsCurrentQuestFailed}}
:{{id|API|IsQuestCompletable}} - Returns true if a quest is possible to complete.
:{{id|API|IsQuestWatched}}(questIndex) - Determine if the specified quest is watched.
:{{id|API|IsWorldQuestWatched}}(questId) - Determine if the specified world quest is watched.
:{{id|API|IsUnitOnQuest}}(questIndex, "[[unitId|unit]]") - Determine if the specified unit is on the given quest.
:{{id|API|QuestChooseRewardError}} - Throws an error when the quest choose reward method doesn't work.
:{{id|API|QuestFlagsPVP}}() - Determine if the quest will flag you you for PvP when accepted.
:{{id|API|QuestGetAutoAccept}}() - Returns whether the last-offered quest was automatically accepted. (added 3.3.0)
:{{id|API|QuestLogPushQuest}} - Initiates the sharing of the currently viewed quest in the quest log.
:{{id|API|RemoveQuestWatch}}(questIndex) - Removes a quest watch by questIndex.
:{{id|API|RemoveWorldQuestWatch}}(questId) - Removes a world quest watch by questId.
:{{id|API|SelectActiveQuest}} - Selects an active quest from the NPC. only available after QUEST_GREETING event.
:{{id|API|SelectAvailableQuest}} - Selects an available quest from the NPC. only available after QUEST_GREETING event.
:{{id|API|SelectQuestLogEntry}} - Sets the selected quest, required for most GetQuest functions.
:{{id|API|SetAbandonQuest}} - Called before [[#AbandonQuest]]().
:{{id|API|ShiftQuestWatches}}(id1, id2) - Exchanges the order of two watched quests. (added 3.3.3)
:{{id|API|SortQuestWatches}}() - Sorts the watched quests according to proximity and returns whether the order changed since last sorting. (added 3.3.3)
:UI {{id|API|ToggleQuestLog}}() - Returns whether the offered quest is a weekly quest. (added 6.0.2)
:{{id|API|WatchFrame_Update}} - Updates the watch frame display.
:{{id|API|QueryQuestsCompleted}}() - Query list of completed quests. (added 3.3.0)
:{{id|API|QuestIsDaily}}() - Returns whether the offered quest is a daily quest. (added 3.3.3)
:{{id|API|QuestIsWeekly}}() - Returns whether the offered quest is a weekly quest. (added 3.3.3)
=== Raid ===
See also the [[#Group]] section.
:{{id|API|ClearRaidMarker}}() - Removes all current active raid markers (flares). (added 4.0.1)
:{{id|API|ConvertToRaid}}() - Converts party to raid.
:{{id|API|ConvertToParty}}() - Converts raid to party.
:{{id|API|DemoteAssistant}}("[[unitId|unit]]") - Demotes player from assistant status. Requires raid leadership.
:{{id|API|GetAllowLowLevelRaid}}() - Returns whether joining low-level raids is enabled for the current character.
:{{id|API|GetPartyAssignment}}("assignment") - Returns unitID of unit assigned to given role.
:{{id|API|GetPartyAssignment}}("assignment", "[[unitId|unit]]") - Returns a value based on whether the unit is assigned to given role
:{{id|API|GetRaidRosterInfo}}({{api|raidIndex|t=t}}) - Returns information about the members of your raid .
:{{id|API|GetRaidRosterSelection}}
:{{id|API|GetRaidTargetIndex}}("[[unitId|unit]]") - Get the raid target index assigned to a unit.
:{{id|API|GetReadyCheckStatus}}("unit") - Returns a raid member's response to the current LFG check.
:{{id|API|InitiateRolePoll}}() - Initiates a role check.
:PROTECTED {{id|API|PlaceRaidMarker}}(index) - Brings up a target selection circle to place a raid marker (flare). Valid indexes 1-5. (added 4.0.1)
:{{id|API|PromoteToAssistant}}("[[unitId|unit]]") - Promotes player to assistant status. Requires raid leadership.
:{{id|API|RequestRaidInfo}}() - Returns information about which instances you are saved to.
:PROTECTED {{id|API|SetPartyAssignment}}("assignment", player) (added 2.3.3)
:{{id|API|SetAllowLowLevelRaid}}(allowed) - Controls whether the current character can join low-level raids.
:{{id|API|SetRaidRosterSelection}}(index)
:{{id|API|SetRaidSubgroup}}(index, subgroup) - Move a raid member from his current subgroup into a different, non-full subgroup.
:PROTECTED {{id|API|SwapRaidSubgroup}}(index1, index2) - Swaps raid members into different groups.
:{{id|API|SetRaidTarget}}("[[unitId|unit]]", index) - Set the raid target index for a unit.
:{{id|API|UnitInRaid}}("[[unitId|unit]]") - Returns {{api|raidIndex|t=t}} if unit is in your raid, nil if not.
=== Raid Browser ===
Functions hidden supporting the Raid Browser UI, added in 3.3. See also the [[#Dungeon Finder]] and [[#Looking for Group]] sections.
''This is a very preliminary list of functions by perusing [[FrameXML]]\LFRFrame.lua/xml files. Please edit and contribute if you know more about these =)''
:UI {{id|API|LFGGetDungeonInfoByID}}(id) - returns data for the specified dungeon/raid/category ID, from the table returned by [[#GetLFDChoiceInfo]]. Raid category IDs and raid IDs may be obtained from the UI function LFR_FULL_RAID_LIST_HEADER_ORDER, LFR_FULL_RAID_LIST = [[#GetFullRaidList]]().
:{{id|API|GetInstanceLockTimeRemainingEncounter}}(index) - returns bossName, texture, isKilled
:{{id|API|RefreshLFGList}}()
:{{id|API|SearchLFGGetEncounterResults}}(index, bossIndex) - returns bossName, texture, isKilled
:{{id|API|SearchLFGGetJoinedID}}() - returns the currently selected raid ID or nil
:{{id|API|SearchLFGGetNumResults}}() - returns numResults, totalResults
:{{id|API|SearchLFGGetPartyResults}}(index, partyMemberIndex) - returns name, level, relationship, className, areaName, comment
:{{id|API|SearchLFGGetResults}}(index) - returns name, level, areaName, className, comment, partyMembers, status, class, encountersTotal, encountersComplete, isLeader, isTank, isHealer, isDamage
:HW {{id|API|SearchLFGJoin}}(typeID, raidID) - enters a search into the Raid Browser
:{{id|API|SearchLFGLeave}}() - removes yourself from looking through the Raid Browser.  Equivalent to selecting "none" in the Raid Browser
:{{id|API|SearchLFGSort}}(sortType)
:{{id|API|SetLFGComment}}(comment) - sets the comment in the raid browser
These also ''appear'' to be used by the Raid Browser, as well as the Dungeon Finder:
:{{id|API|ClearAllLFGDungeons}}()
:{{id|API|JoinLFG}}()
:{{id|API|LeaveLFG}}()
:{{id|API|RequestLFDPartyLockInfo}}()
:{{id|API|RequestLFDPlayerLockInfo}}()
:{{id|API|SetLFGDungeon}}(id)
:{{id|API|SetLFGDungeonEnabled}}(dungeonID, isEnabled)
:{{id|API|SetLFGHeaderCollapsed}}(headerID, isCollapsed)
=== RealID (BNet) ===
These functions are only available in [[Patch 3.3.5]].
:{{id|API|BNAcceptFriendInvite}}(ID)
:{{id|API|BNConnected}}() - Returns your battle.net connected state (True|False)
:{{id|API|BNCreateConversation}}(id,id)
:{{id|API|BNDeclineFriendInvite}}(ID)
:{{id|API|BNFeaturesEnabled}}()
:{{id|API|BNFeaturesEnabledAndConnected}}()
:{{id|API|BNGetBlockedInfo}}(index)
:{{id|API|BNGetBlockedToonInfo}}(index)
:{{id|API|BNGetConversationInfo}}(chatTarget) - returns unknown
:{{id|API|BNGetConversationMemberInfo}}(conversationID, memberID) - returns accountID, toonID, name
:{{id|API|BNGetCustomMessageTable}}(table)
:{{id|API|BNGetFOFInfo}}(presenceID, mutual, non-mutual, index) - returns presenceID, givenName, surname, isFriend
:{{id|API|BNGetFriendInfo}}(friendIndex) - Returns BNet ID, real name, character name, character ID, game client, connected, status, broadcast and note of the friend
:{{id|API|BNGetFriendInfoByID}}(presenceID) - returns presenceID, givenName, surname, toonName
:{{id|API|BNGetFriendInviteInfo}}(menuValue) - returns presenceID, givenName, surname
:{{id|API|BNGetFriendToonInfo}}(friendIndex, toonIndex)
:{{id|API|BNGetInfo}}() - returns presenceID, toonID, currentBroadcast, bnetAFK, bnetDND
:{{id|API|BNGetMatureLanguageFilter}}()
:{{id|API|BNGetMaxPlayersInConversation}}()
:{{id|API|BNGetNumBlocked}}()
:{{id|API|BNGetNumBlockedToons}}()
:{{id|API|BNGetNumConversationMembers}}(conversationID)
:{{id|API|BNGetNumFOF}}(ID,mutual,non)
:{{id|API|BNGetFOFInfo}}(ID, mutual, non, index)
:{{id|API|BNGetNumFriendInvites}}()
:{{id|API|BNGetNumFriends}}() - returns numBNetTotal, numBNetOnline
:{{id|API|BNGetNumFriendToons}}(index)
:{{id|API|BNGetSelectedBlock}}()
:{{id|API|BNGetSelectedFriend}}()
:{{id|API|BNGetSelectedToonBlock}}()
:{{id|API|BNGetToonInfo}}(toonID) - returns hasFocus, toonName, client, realmName, faction, race, class, guild, zoneName, level, gameText
:{{id|API|BNInviteToConversation}}(target, player)
:{{id|API|BNIsBlocked}}(ID)
:{{id|API|BNIsFriend}}(presenceID)
:{{id|API|BNIsSelf}}(presenceID) - Returns true if the specified presenceID is your own, false otherwise.
:{{id|API|BNIsToonBlocked}}(ID)
:{{id|API|BNLeaveConversation}}(channel)
:{{id|API|BNListConversation}}(channel)
:{{id|API|BNRemoveFriend}}(ID)
:{{id|API|BNReportFriendInvite}}(ID)
:{{id|API|BNReportPlayer}}(presenceID, type, comments)
:{{id|API|BNSendConversationMessage}}(channel,text)
:{{id|API|BNSendFriendInvite}}(text, noteText)
:{{id|API|BNSendFriendInviteByID}}(ID, noteText)
:{{id|API|BNSendWhisper}}(id,text)
:{{id|API|BNSetAFK}}()
:{{id|API|BNSetBlocked}}(ID, bool)
:{{id|API|BNSetCustomMessage}}(text)
:{{id|API|BNSetDND}}()
:{{id|API|BNSetFocus}}()
:{{id|API|BNSetFriendNote}}(ID, noteText)
:{{id|API|BNSetMatureLanguageFilter}}(bool)
:{{id|API|BNSetSelectedBlock}}(index)
:{{id|API|BNSetSelectedFriend}}(index)
:{{id|API|BNSetSelectedToonBlock}}(index)
:{{id|API|BNSetToonBlocked}}(ID, bool)
:{{id|API|IsBNLogin}}()
:{{id|API|CanCooperateWithToon}}(toonID)
=== Recruit-a-Friend ===
Note: Only usable by people that have been referred or have referred someone.
:{{id|API|AcceptLevelGrant}}() - Accepts a level grant proposal.
:{{id|API|DeclineLevelGrant}}() - Declines a level grant proposal.
:{{id|API|IsReferAFriendLinked}}("unit") - Returns whether the unit is linked to the player via RaF.
:{{id|API|CanGrantLevel}}("unit") - Returns whether you can grant levels to a particular player.
:{{id|API|GrantLevel}}("unit", level) - Grant a custom amount of levels to a RaF-linked player.
:{{id|API|CanSummonFriend}}("unit") - Returns whether you can RaF summon a particular unit.
:{{id|API|SummonFriend}}("unit") - Summons a player using the RaF system.
:{{id|API|GetSummonFriendCooldown}}() - Returns the cooldown (start, duration) of the RaF Summon Friend ability.
=== Script Profiling ===
Note: CPU profiling is disabled by default since it has some overhead. CPU profiling is controlled by the scriptProfile CVar, which persists across sessions, and takes effect after a UI reload. Memory profiling is always available. These functions were added in Patch 2.1.
:{{id|API|GetAddOnCPUUsage}}(index or "name") - Returns the total time used by the specified AddOn. This returns a cached value calculated by UpdateAddOnCPUUsage().
:{{id|API|GetAddOnMemoryUsage}}(index or "name") - query an addon's memory use (in K, precision to 1 byte) - This returns a cached value calculated by UpdateAddOnMemoryUsage().
:{{id|API|GetEventCPUUsage}}(["event"]) - Returns the time used and number of times the specified event has been triggered. If 'event' is omitted, the time and count will be totals across all events.
:{{id|API|GetFrameCPUUsage}}(frame[, includeChildren]) - Returns the time used and number of function calls of any of the frame's script handlers. If 'includeChildren' is true or omitted, the time and call count will include the handlers for all of the frame's children as well.
:{{id|API|GetFunctionCPUUsage}}(function[, includeSubroutines]) - Returns the time used and number of times the specified function was called. If 'includeSubroutines' is true or omitted, the time includes both the time spent in the function and subroutines called by the function. If it is false, then time is only the time actually spent by the code in the function itself.
:{{id|API|GetScriptCPUUsage}}() - Returns the total time used by the scripting system
:{{id|API|ResetCPUUsage}}() - Reset all CPU profiling statistics to zero.
:{{id|API|UpdateAddOnCPUUsage}}() - Scan through the profiling data and update the per-addon statistics
:{{id|API|UpdateAddOnMemoryUsage}}() - Scan through memory profiling data and update the per-addon statistics
=== Protection ===
:{{id|API|issecure}}() - Determine if the current environment is secure.
:{{id|API|forceinsecure}}() - Taint the current execution path.
:{{id|API|issecurevariable}}([table,] "name") - Determine if the specified variable is secure.
:{{id|API|securecall}}(function or "functionName", ...) - Call a function from a secure environment without risking secure status.
:{{id|API|hooksecurefunc}}([table,] "functionName", hookfunc) - Creates a secure 'post hook' for the named function. The hookfunc is invoked after the original function, and receives the same parameters. Return values from hookfunc are discarded. This is the only safe way to hook functions that execute protected functionality.
:{{id|API|InCombatLockdown}}() - Returns true if the in-combat AddOn restrictions are active.
:{{id|API|scrub}}(...) - returns the argument list with non-number/boolean/string values changed to nil.
=== Settings ===
:{{id|API|CombatTextSetActiveUnit}}(unit) - changes the entity for which COMBAT_TEXT_UPDATE events fire.
:{{id|API|DownloadSettings}}() - Download a backup of your settings from the server.
:{{id|API|GetCVar}}("cVar") - Returns the current value of a console variable.
:{{id|API|GetCVarDefault}}("cVar") - Returns the default value of a console variable.
:{{id|API|GetCVarBool}}("cVar") - Returns the value of the cvar as 1 or nil instead of requiring you to compare the cvar value with "0" or "1"
:{{id|API|GetCVarInfo}}("cVar") - returns name, defaultValue, serverStoredAccountWide, serverStoredPerCharacter
:{{id|API|GetCurrentMultisampleFormat}}() - Get the current in-use multi-sample (antialias) format.
:{{id|API|GetCurrentResolution}}() - Get the index of the current screen resolution.
:{{id|API|GetGamma}}()
:{{id|API|GetMultisampleFormats}}() - Get the available multi-sample (antialias) formats..
:{{id|API|GetRefreshRates}}(x)
:{{id|API|GetScreenResolutions}}()
:{{id|API|GetVideoCaps}}()
:{{id|API|IsThreatWarningEnabled}}() - returns whether threat warnings should currently be displayed.
:{{id|API|RegisterCVar}}("cVar"[, value]) - Registers a variable for use with the [[#GetCVar]] and [[#SetCVar]] functions.
:{{id|API|ResetPerformanceValues}}()
:{{id|API|ResetTutorials}}()
:{{id|API|SetCVar}}("cVar", value[, "scriptCVar"]) - Set the value of a variable in config.wtf
:{{id|API|SetEuropeanNumbers}}(flag) - Sets the decimal separator to a comma instead of a dot
:{{id|API|SetGamma}}(value)
:{{id|API|SetLayoutMode}}()
:{{id|API|SetMultisampleFormat}}(index) - Set the multi-sample (antialias) format to use.
:{{id|API|SetScreenResolution}}(x)
:{{id|API|ShowCloak}}(flag) - Set whether player's cloak is displayed.
:{{id|API|ShowHelm}}(flag) - Set whether player's helm is displayed.
:{{id|API|ShowNumericThreat}}() - Returns 1 if detailed threat information should be shown on unit frames.
:{{id|API|ShowingCloak}}() - Return 1 if player's cloak is displayed, nil otherwise.
:{{id|API|ShowingHelm}}() - Return 1 if player's helm is displayed, nil otherwise.
:{{id|API|UploadSettings}}() - Uploads a backup of your settings to the server.
=== Spell ===
The 'spellID' is the index of a spell in a spellbook. The indices increase from top to bottom, then left to right, then between categories, e.g.: General -> Discipline. spellIDs will change as players learn new spells and 'professions'.
:PROTECTED {{id|API|CastShapeshiftForm}}(index)
:PROTECTED {{id|API|CastSpell}}(spellID, "bookType") - Cast the specified spell by ID. spellbookTab is "spell" or "pet". As of patch 2.0, this function has been restricted to Blizzard signed UI mods. Note: You can still use this function to open Craft windows and activate Lock Picking. (protected 2.0)
:PROTECTED {{id|API|CastSpellByName}}("name"[, onSelf]) - Cast the specified spell by display name. As of patch 2.0, this function has been restricted to Blizzard signed UI mods. Note: You can still use this function to open Craft windows and activate Lock Picking. (protected 2.0)
:{{id|API|GetMultiCastTotemSpells}}(totemslot) - Returns a list of spellIDs that are applicable for the specified totem slot (1-4) (added 3.2)
:{{id|API|GetNumShapeshiftForms}}()
:{{id|API|GetNumSpellTabs}}() - Returns the total number of tabs in the user's spellbook.
:{{id|API|GetQuestLogRewardSpell}}
:{{id|API|GetRewardSpell}}
:{{id|API|GetShapeshiftForm}}(unknown) - returns zero-based index of current form/stance
:{{id|API|GetShapeshiftFormCooldown}}(index)
:{{id|API|GetShapeshiftFormInfo}}(index) - Retrieves information about an available ShapeshiftForm or Stance.
:{{id|API|GetSpellAutocast}}("spellName" | spellId, bookType) - Check whether the specified spell autocasts or not.
:{{id|API|GetSpellBookItemInfo}}(spellID, "bookType") - Returns the spell's type and spellID for a spell in the player's spellbook.
:{{id|API|GetSpellBookItemName}}(spellID, "bookType") - Returns the spell name and spell rank for a spell in the player's spellbook.
:{{id|API|GetSpellCooldown}}(spellName | spellID, "bookType") - Retrieves data on the cooldown of a specific spell.
:{{id|API|GetSpellDescription}}(spellID) - Retrieves the description text of a specific spell (enhanced tooltip text).
:{{id|API|GetSpellInfo}} (spellId | spellName | spellLink) - Returns the spell's info, including name, cost, icon, cast time, and range.
:{{id|API|GetSpellLink}} (spellName, spellRank) - Returns the spell's link. (added 2.4)
:{{id|API|GetSpellTabInfo}}(spellbookTabNum) - Returns information about the specified spellbook tab.
:{{id|API|GetSpellTexture}}(spellName | spellID, "bookType") - Returns the texture used for the spell's icon.
:{{id|API|GetTotemInfo}}(slot) - Returns information about a totem.
:{{id|API|GetSpellPowerCost}}(spellID) - Returns information about spell's resource cost (mana/focus/etc.), in the form of tables describing each resource.
:{{id|API|IsAttackSpell}}(spell) - Returns 1 if the spell is the "Attack" spell.
:{{id|API|IsAutoRepeatSpell}}(spell)
:{{id|API|IsPassiveSpell}}(spellID, "bookType") - Returns whether the icon in your spellbook is a Passive ability. Formerly IsSpellPassive(spell).
:{{id|API|IsSpellInRange}}("spellName", [unit]) - Is nil for no valid target, 0 for out of range, 1 for in range.
:{{id|API|IsUsableSpell}}(spell)
:{{id|API|PickupSpell}}("spellName" | spellID, "bookType") - Loads an action button onto the cursor to be dropped into a quickbar slot.
:UI {{id|API|QueryCastSequence}}("sequence") - Returns index, item, spell for the spell/item that will be used next if the cast sequence is executed.
:PROTECTED {{id|API|SetMultiCastSpell}}(actionID,spellID) - Assigns a spellID to a multicast (totem bar) actionID (added 3.2)
:{{id|API|SpellCanTargetUnit}}("[[unitId|unit]]") - Returns true if the spell awaiting target selection can be cast on the specified unit.
:{{id|API|SpellHasRange}}(spell) - Returns true if the specified spell has a ranged effect (i.e. requires a target).
:{{id|API|SpellIsTargeting}}() - Returns true if a spell has been cast and is awaiting target selection.
:PROTECTED {{id|API|SpellStopCasting}}() - Stops the current spellcast.
:PROTECTED {{id|API|SpellStopTargeting}}() - Cancels the spell awaiting target selection.
:PROTECTED {{id|API|SpellTargetUnit}}("[[unitId|unit]]") - Casts the spell awaiting target selection on the specified unit.
:PROTECTED {{id|API|ToggleSpellAutocast}}("spellName" | spellId, bookType) - Toggles whether the specified spell should autocast or not.
:{{id|API|UnitCastingInfo}}("unit") - Returns spellName, nameSubtext, text, texture, startTime, endTime, isTradeSkill, castID, interrupt .
:{{id|API|UnitChannelInfo}}("unit") - Returns spellName, nameSubtext, text, texture, startTime, endTime, isTradeSkill, interrupt .
=== System ===
:{{id|API|ConsoleExec}}("command") - Execute a console command.
:{{id|API|DetectWowMouse}}() - Attempts to detect the world of warcraft MMO mouse.
:{{id|API|GetBuildInfo}}() - Returns information about current client build.
:{{id|API|geterrorhandler}}() - Returns the currently set error handler.
:{{id|API|GetCurrentKeyBoardFocus}}() - Returns the [editbox] widget currently handling keyboard events.
:{{id|API|GetExistingLocales}}() - Returns a list of installed language packs.
:{{id|API|GetFramerate}}() - Returns the current framerate (full precision)
:{{id|API|GetGameTime}}() - Returns the time in-game.
:{{id|API|GetLocale}}() - Returns client locale, example 'enUS'.
:{{id|API|GetCursorPosition}}() - Returns the cursor's position on the screen.
:{{id|API|GetNetStats}}() - Get bandwidth and latency network information.
:{{id|API|GetRealmName}}() - returns the name of the server a user is logged in to
:{{id|API|GetScreenHeight}}() - Returns the height of the window in pixels.
:{{id|API|GetScreenWidth}}() - Returns the width of the window in pixels.
:UI {{id|API|GetText}}() - Used to localize some client text.
:{{id|API|GetTime}}() - Returns the system uptime in seconds (millisecond precision).
:{{id|API|IsAltKeyDown}}() - Returns true if the alt key is currently depressed.
:{{id|API|InCinematic}}()
:{{id|API|IsControlKeyDown}}() - Returns true if the control key is currently depressed.
:{{id|API|IsDebugBuild}}()
:{{id|API|IsDesaturateSupported}}()
:{{id|API|IsLeftAltKeyDown}}() - Returns true if the left alt key is currently depressed.
:{{id|API|IsLeftControlKeyDown}}() - Returns true if the left control key is currently depressed.
:{{id|API|IsLeftShiftKeyDown}}() - Returns true if the left shift key is currently depressed.
:{{id|API|IsLinuxClient}}() - Boolean - Returns true if WoW is being run on Linux.
:{{id|API|IsLoggedIn}}() - Returns nil before the PLAYER_LOGIN event has fired, 1 afterwards.
:{{id|API|IsMacClient}}() - Returns true if WoW is being run on Mac.
:{{id|API|IsRightAltKeyDown}}() - Returns true if the right alt key is currently depressed.
:{{id|API|IsRightControlKeyDown}}() - Returns true if the right control key is currently depressed.
:{{id|API|IsRightShiftKeyDown}}() - Returns true if the right shift key is currently depressed.
:{{id|API|IsShiftKeyDown}}() - Returns true if the shift key is currently depressed.
:{{id|API|IsStereoVideoAvailable}}() - (added 3.0.8)
:{{id|API|IsWindowsClient}}() - Returns true if WoW is being run on Windows.
:{{id|API|OpeningCinematic}}() - Shows the opening movie for a player's race
:{{id|API|PlayMusic}}() - Plays the specified mp3.
:{{id|API|PlaySound}}() - Plays the specified built-in sound effect.
:{{id|API|PlaySoundFile}}() - Plays the specified sound file.
:HW {{id|API|ReloadUI}}() - Reloads the UI from source files
:{{id|API|RepopMe}}() - The "Release Spirit" button. Sends you to the graveyard when dead.
:{{id|API|RequestTimePlayed}}() - Request a summary of time played from the server.
:{{id|API|RestartGx}}() - Restarts the graphical engine. Needed for things such as resolution changes to take effect.
:{{id|API|RunScript}}("script") - Execute "script" as a block of Lua code.
:{{id|API|Screenshot}}() - Takes a screenshot.
:UI {{id|API|SecondsToTime}} - Converts a number of seconds into a readable days / hours / etc. formatted string.
:{{id|API|SetAutoDeclineGuildInvites}}(value) - Set the checkbox option for blocking guild invites (value may be 0 or 1)
:{{id|API|seterrorhandler}}(function) - Set the error handler to the given parameter.
:{{id|API|StopCinematic}}()
:{{id|API|StopMusic}}() - Stops the currently playing mp3.
:UI {{id|API|UIParentLoadAddOn}}("AddOnName") - Loads or Reloads the specified AddOn, and pops up an error message if it fails to load for any reason.
:UI {{id|API|TakeScreenshot}}() - Takes a screenshot.
:UI {{id|API|ERRORMESSAGE}}(value) - Displays the script error dialog with optional text
:{{id|API|debuginfo}}() - Output win32 debug text. Freeware debug message viewer: [http://www.sysinternals.com/Utilities/DebugView.html DebugView] (Has no effect on live server.)
:UI {{id|API|message}}("text") - Displays a message box with your text message and an "Okay" button.
=== Specialization ===
:{{id|API|GetActiveSpecGroup}}() - Returns the index of the current active talent group for the player. (added 5.0.4)
:{{id|API|SetActiveSpecGroup}}() - Changes the active specialization/talents/glyphs group (dual-spec). (added 5.0.4)
:{{id|API|GetNumSpecGroups}}() - Returns the number of specialization group (dual specs) the player has. (added 5.0.4)
:{{id|API|GetSpecialization}}([ isInspect [, isPet] [, specGroup] ]) - Returns the index of the player's current specialization. (added 5.0.4)
:{{id|API|GetNumUnspentTalents}}() - Returns the number of unspent talents. (added 5.0.4)
:{{id|API|GetNumSpecializations}}([inspect[,pet]]) - Returns the number of available specializations. (added 5.0.4)
:{{id|API|GetSpecializationInfo}}(tabIndex[,inspect][,isPet][, groupIndex]) - Returns information about the player's specializations. (added 5.0.4)
:{{id|API|GetSpecializationInfoByID}}(specID) - Returns information about the specialization ID. (added 5.0.4)
:{{id|API|GetSpecializationRole}}(specIndex[, isInspect[, isPet]) - Returns the role a specialization is intended to perform. (added 5.0.4)
=== Talent ===
:{{id|API|BuyTrainerService}}(index) - Used for buying new/upgrading professions, profession items and class skills.
:{{id|API|CheckTalentMasterDist}}() - Returns nil if the player is too far away from the talent master to use the talent methods.
:{{id|API|ConfirmTalentWipe}}() - Confirms freeing all talent points.
:{{id|API|GetNumTalents}}(tabIndex) - return number of talents in tree.
:{{id|API|GetTalentInfo}}(tabIndex,talentIndex[,inspect][,isPet][,groupIndex]) - return name, iconTexture, tier, column, rank, maxRank, isExceptional, meetsPrereq. (added 'inspect' 2.3)(added 'isPet' 2.3)(added 'groupIndex' 3.1.0)
:{{id|API|GetTalentLink}}(tabIndex,talentIndex[,isInspect][,isPet][,groupIndex][, isPreview]) - Returns the talent link. (added 2.4) [,isInspect][,isPet] (added 3.0.1)(added 'groupIndex' 3.1.0)(added 'isPreview' 3.1.0)
:{{id|API|GetTalentPrereqs}}(tabIndex,talentIndex[, inspect][, groupIndex]) - return tier, column, isLearnable. (added 'inspect' 2.3)(added 'groupIndex' 3.1)
:{{id|API|LearnTalent}}(tabIndex,talentIndex) - Learns a talent from the talent tree.
Talent points preview, assignment before spending, was added in 3.1.0:
:{{id|API|AddPreviewTalentPoints}}(tabIndex, talentIndex, points[, isPet[, groupIndex]]) - Add talent points to the previewed talent build.
:{{id|API|GetGroupPreviewTalentPointsSpent}}(isPet[, groupIndex]) - Returns the total number of points spent in a spec.
:{{id|API|GetPreviewTalentPointsSpent}}(tabIndex, isPet [,groupIndex]) - Returns the number of points spent.
:REMOVED {{id|API|GetUnspentTalentPoints}}([isInspect [,isPet)]] - Returns the number of unspent talent points. (removed 5.0.4)
:{{id|API|LearnPreviewTalents}}(isPet) - Learns currently previewed talents.
:{{id|API|ResetGroupPreviewTalentPoints}}(isPet[,groupIndex]) - Unassigns all preview talent points.
:{{id|API|ResetPreviewTalentPoints}}(tabIndex, isPet [,groupIndex]) - Unassigns preview talent points in a specific tab.
=== Targeting ===
:PROTECTED {{id|API|AssistUnit}}("[[unitId|unit]]") - Instructs your character to assist the specified unit.
:PROTECTED {{id|API|AttackTarget}}() - Attacks the targetted unit.
:PROTECTED {{id|API|ClearTarget}}() - Clears the selected target.
:{{id|API|ClickTargetTradeButton}}(index)
:PROTECTED {{id|API|TargetLastEnemy}}() - Selects the last targetted enemy as the current target.
:PROTECTED {{id|API|TargetLastTarget}}() - Selects the last target as the current target.
:PROTECTED {{id|API|TargetNearestEnemy}}([reverseFlag]) - Selects the nearest enemy as the current target.
:PROTECTED {{id|API|TargetNearestEnemyPlayer}}([reverseFlag]) - Selects the nearest enemy player as the current target.
:PROTECTED {{id|API|TargetNearestFriend}}([reverseFlag]) - Selects the nearest friendly unit as the current target.
:PROTECTED {{id|API|TargetNearestFriendPlayer}}([reverseFlag]) - Selects the nearest friendly player as the current target.
:PROTECTED {{id|API|TargetNearestPartyMember}}() - Selects the nearest Party member as the current target.
:PROTECTED {{id|API|TargetNearestRaidMember}}() - Selects the nearest Raid member as the current target.
:PROTECTED {{id|API|TargetUnit}}("[[unitId|unit]]") - Selects the specified unit as the current target.
=== Taxi ===
:{{id|API|CloseTaxiMap}}() - Closes the Flightpath Map.
:{{id|API|DrawRouteLine}}(texture, canvas, startx, starty, endx, endy, width, relPoint) - Draws a line.
:{{id|API|GetNumRoutes}}(slot) - Gets the number of hops between current-slot and slot.
:{{id|API|NumTaxiNodes}}() - Returns the number of nodes (flight paths) on an open taxi map.
:{{id|API|SetTaxiMap}}(frame)
:{{id|API|TakeTaxiNode}}(slot) - Takes the named taxi node.
:{{id|API|TaxiNodeCost}}(slot) - Returns the cost in copper of a node.
:{{id|API|TaxiNodeGetType}}(slot) - Returns the status of a node.
:{{id|API|TaxiGetSrcX}}(slot, hop)
:{{id|API|TaxiGetSrcY}}(slot, hop)
:{{id|API|TaxiGetDestX}}(slot, hop)
:{{id|API|TaxiGetDestY}}(slot, hop)
:{{id|API|TaxiNodeSetCurrent}}(slot) - Renumbers slots based on new current slot.
:{{id|API|TaxiNodeName}}(slot) - Returns the name of a node.
:{{id|API|TaxiNodePosition}}(slot) - Returns position (x,y) of node on the map.
:{{id|API|UnitOnTaxi}}("[[unitId|unit]]") - Returns 1 if unit is on a taxi.
=== Toggle ===
:UI {{id|API|ToggleBackpack}}() - Toggles your backpack open/closed.
:UI {{id|API|ToggleBag}}([[bagId|bagID]]) - Opens or closes the specified bag.
:UI {{id|API|OpenAllBags}} - Open all bags
:UI {{id|API|ToggleCharacter}}(index) - Toggles the character pane to the specified frame.
:UI {{id|API|ToggleFramerate}} - Show/Hide the FPS.
:UI {{id|API|ToggleFriendsFrame}}([tabNumber]) - Opens/closes the friends pane (possibly on a specific tab).
:PROTECTED UI {{id|API|ToggleGameMenu}} - Opens/closes the game menu. Triggers protected functions.
:UI {{id|API|ToggleHelpFrame}} - Opens the Help Request frame.
:UI {{id|API|ToggleKeyRing}} - Opens/closes the key ring.
:UI {{id|API|ToggleMinimap}} - Turns the minimap display on/off.
:UI {{id|API|TogglePVPFrame}} - Opens/closes the PvP frame.
:UI {{id|API|ToggleSpellBook}}("bookType") - Shows the spellbook. Can show your spells or your pet's.
:UI {{id|API|ToggleTalentFrame}} - Opens the Talent frame.
:UI {{id|API|ToggleAchievementFrame}} - Shows the achievements frame.
=== TradeSkill ===
:{{id|API|CloseTradeSkill}}() - Closes an open trade skill window.
:{{id|API|CollapseTradeSkillSubClass}}(index) - Collapses the specified subclass header row.
:{{id|API|DoTradeSkill}}(index[, repeatTimes]) - Performs the tradeskill a specified # of times.
:{{id|API|ExpandTradeSkillSubClass}}(index) - Expands the specified subclass header row.
:{{id|API|GetFirstTradeSkill}}() - Returns the index of the first non-header trade skill entry.
:{{id|API|GetNumTradeSkills}}() - Get the number of trade skill entries (including headers).
:{{id|API|GetTradeSkillCooldown}}(index) - Returns the number of seconds left for a skill to cooldown.
:{{id|API|GetTradeSkillDescription}}(index) - Returns the description text of the indicated trade skill.
:{{id|API|GetTradeSkillIcon}}(index) - Returns the texture name of a tradeskill's icon.
:{{id|API|GetTradeSkillInfo}}(index) - Retrieves information about a specific trade skill.
:{{id|API|GetTradeSkillInvSlotFilter}}(slotIndex) - Returns 1 if items corresponding to slotIndex are currently visible, otherwise nil.
:{{id|API|GetTradeSkillInvSlots}}() - Returns a list of the available inventory slot types.
:{{id|API|GetTradeSkillItemLink}}(index) - Returns the [[itemLink]] for a trade skill item.
:{{id|API|GetTradeSkillLine}}() - Returns information about the selected skill line.
:{{id|API|GetTradeSkillListLink}}() - Returns the [[TradeSkillLink]] for a trade skill.
:{{id|API|GetTradeSkillNumMade}}(index) - Gets the number of items made in a single use of a skill.
:{{id|API|GetTradeSkillNumReagents}}(tradeSkillRecipeId) - Returns the number of different reagents required.
:{{id|API|GetTradeSkillReagentInfo}}(tradeSkillRecipeId, reagentId) - Returns data on the reagent, including a count of the player's inventory.
:{{id|API|GetTradeSkillReagentItemLink}}(index, reagentId) - Returns the [[itemLink]] for one of the reagents needed to craft the given item
:{{id|API|GetTradeSkillRecipeLink}}(index) - Returns the [[EnchantLink]] for a trade skill.
:{{id|API|GetTradeSkillSelectionIndex}}() - Returns the Id of the currently selected trade skill, 0 if none selected.
:{{id|API|GetTradeSkillSubClassFilter}}(filterIndex) - Returns 1 if items corresponding to filterIndex are currently visible, otherwise nil.
:{{id|API|GetTradeSkillSubClasses}}() - Returns a list of the valid subclasses.
:{{id|API|GetTradeSkillTools}}(index) - Returns information about the tools needed for a tradeskill.
:{{id|API|GetTradeskillRepeatCount}}() - Returns the number of times the current item is being crafted.
:{{id|API|IsTradeskillTrainer}}() - Returns 1 if trainer is for a tradeskill.
:{{id|API|IsTradeSkillLinked}}() - Returns true if you're inspecting a tradeskill link rather then looking at your own tradeskills
:{{id|API|SelectTradeSkill}}(index) - Select a specific trade skill in the list.
:{{id|API|SetTradeSkillInvSlotFilter}}(slotIndex, onOff[, exclusive] ) - Set the inventory slot type filter.
:{{id|API|SetTradeSkillSubClassFilter}}(slotIndex, onOff[, exclusive] ) - Set the subclass filter.
:{{id|API|StopTradeSkillRepeat}}() - Stops creating additional queued items.
:{{id|API|TradeSkillOnlyShowMakeable}}(onlyMakable) - Controls whether only recipes you have the reagents to craft are shown.
=== Tracking ===
:{{id|API|GetNumTrackingTypes}}() - Returns number of available tracking methods.
:{{id|API|GetTrackingInfo}}(id) - Retrieves tracking information from specified id.
:{{id|API|SetTracking}}(id) - Selects a tracking method.
=== Trading ===
:HW {{id|API|AcceptTrade}}() - A pending trade will be accepted.
:{{id|API|AddTradeMoney}}() - Adds the money dropped into the player's trade frame.
:{{id|API|CancelTrade}}() - Declines the offer to trade with the other player.
:{{id|API|CancelTradeAccept}}() - Cancels the trade attempt which required an accept.
:{{id|API|ClickTargetTradeButton}}(index)
:{{id|API|ClickTradeButton}}(index) - Equivalent of a mouseclick on the trade window buttons [1-7]
:{{id|API|CloseTrade}}() - Closes the trade.
:{{id|API|GetPlayerTradeMoney}} - Returns the amount of money the player has in the trade window.
:{{id|API|GetTargetTradeMoney}} - Returns the amount of money in the trade frame of the target player.
:{{id|API|GetTradePlayerItemInfo}}(id) - Returns information about a trade item.
:{{id|API|GetTradePlayerItemLink}}(id) - Returns an [[itemLink]] for the given item on your side of the trade window, if open.
:{{id|API|GetTradeTargetItemInfo}}(id) - Returns information about a trade item.
:{{id|API|GetTradeTargetItemLink}}(id) - Returns an [[itemLink]] for the given item on the other player's side of the trade window, if open.
:{{id|API|InitiateTrade}}(UnitId) - Asks the specified unit to trade.
:{{id|API|PickupPlayerMoney}}(copper) - Picks up an amount of money from the player.
:{{id|API|PickupTradeMoney}}(copper) - Picks up an amount of money from the player's trade offer.
:{{id|API|SetTradeMoney}}(copper) - Sets the amount of money offered as part of the player's trade offer.
:{{id|API|ReplaceTradeEnchant}}() - Confirm the replacement of an enchantment via trade.
=== Training ===
:{{id|API|BuyTrainerService}}(index) - Used for buying new/upgrading professions, profession items and class skills.
:{{id|API|CloseTrainer}}() - Closes the trainer window.
:{{id|API|GetNumTrainerServices}}() - Get the number of the trainer services.
:{{id|API|GetTrainerGreetingText}}() - Get the trainer's greeting text.
:{{id|API|GetTrainerSelectionIndex}}() - Get the index of the selected trainer service.
:{{id|API|GetTrainerServiceAbilityReq}}(trainerIndex,reqIndex) - Used for displaying the requirements to learn a new profession, profession skill or class skill.
:{{id|API|GetTrainerServiceCost}}(index) - Returns the cost of a specific trainer service.
:{{id|API|GetTrainerServiceDescription}}(index) - Returns the description of a specific trainer service.
:{{id|API|GetTrainerServiceIcon}}(index) - Returns icon texture for a trainer service.
:{{id|API|GetTrainerServiceInfo}}(index) - Returns information about a trainer service.
:{{id|API|GetTrainerServiceItemLink}}(index) - Returns an item link for a trainer service.
:{{id|API|GetTrainerServiceLevelReq}}(index) - Get the required level to learn the skill.
:{{id|API|GetTrainerServiceNumAbilityReq}} - Get the maximum number of requirements that [[#GetTrainerServiceAbilityReq]]() has.
:{{id|API|GetTrainerServiceSkillLine}}(index)
:{{id|API|GetTrainerServiceSkillReq}}(index) - Returns a String and Variable for the requirements of a specific trainer service.
:{{id|API|GetTrainerServiceTypeFilter}}("filter") - Returns the status of a skill filter in the trainer window.
:{{id|API|IsTradeskillTrainer}}() - Returns 1 if trainer is for a tradeskill.
:{{id|API|OpenTrainer}}()
:{{id|API|SelectTrainerService}}()
:{{id|API|SetTrainerServiceTypeFilter}}("filter",state) - Sets the status of a skill filter in the trainer window.
=== Unit ===
These are functions which act on one or more units. Units are identified by [[UnitId]]s.
:PROTECTED {{id|API|AssistUnit}}("unit") - Instructs your character to assist the specified unit.
:{{id|API|CheckInteractDistance}}("unit",distIndex)
:{{id|API|DropItemOnUnit}}("unit") - Drops an item from the cursor onto a unit.
:{{id|API|FollowUnit}}("unit") - Follow an ally with the specified UnitID
:PROTECTED {{id|API|FocusUnit}}("unit") - Sets your unit for focus. (protected 2.0)
:PROTECTED {{id|API|ClearFocus}}() - Removes any focus you may have set.
:UI {{id|API|GetUnitName}}("unit", showServerName) - Returns a string with the unit's name and realm name if applicable.
:{{id|API|GetUnitPitch}}("unit") - Returns the moving pitch of the unit. (added 3.0.2)
:{{id|API|GetUnitSpeed}}("unit") - Returns the moving speed of the unit. (added 3.0.2)
:{{id|API|InviteUnit}}("name" or "unit") - Invites the specified player to the group you are currently in (added 2.0)
:{{id|API|IsUnitOnQuest}}(questIndex, "unit") - Determine if the specified unit is on the given quest.
:{{id|API|SpellCanTargetUnit}}("unit") - Returns true if the spell awaiting target selection can be cast on the specified unit.
:PROTECTED {{id|API|SpellTargetUnit}}("unit") - Casts the spell awaiting target selection on the specified unit.
:PROTECTED {{id|API|TargetUnit}}("unit") - Selects the specified unit as the current target. (protected 2.0)
:{{id|API|UnitAffectingCombat}}("unit") - Determine if the unit is in combat or has aggro. returns nil if "false" and 1 if "true".
:{{id|API|UnitArmor}}("unit") - Returns the armor statistics relevant to the specified unit.
:{{id|API|UnitAttackBothHands}}("unit") - Returns information about the unit's melee attacks.
:{{id|API|UnitAttackPower}}("unit") - Returns the unit's melee attack power and modifiers.
:{{id|API|UnitAttackSpeed}}("unit") - Returns the unit's melee attack speed for each hand.
:{{id|API|UnitAura}}("unit", index [, filter]) - Returns info about buffs and debuffs of a unit.
:{{id|API|UnitBuff}}("unit", index [,raidFilter]) - Retrieves info about a buff of a certain unit. (updated 2.0)
:{{id|API|UnitCanAssist}}("unit", "otherUnit") - Indicates whether the first unit can assist the second unit.
:{{id|API|UnitCanAttack}}("unit", "otherUnit") - Returns true if the first unit can attack the second, false otherwise.
:{{id|API|UnitCanCooperate}}("unit", "otherUnit") - Returns true if the first unit can cooperate with the second, false otherwise.
:{{id|API|UnitClass}}("unit") - Returns the class name of the specified unit (e.g., "Warrior" or "Shaman").
:{{id|API|UnitClassification}}("unit") - Returns the classification of the specified unit (e.g., "elite" or "worldboss").
:{{id|API|UnitCreatureFamily}}("unit") - Returns the type of creature of the specified unit (e.g., "Crab").
:{{id|API|UnitCreatureType}}("unit") - Returns the classification type of creature of the specified unit (e.g., "Beast").
:{{id|API|UnitDamage}}("unit") - Returns the damage statistics relevant to the specified unit.
:{{id|API|UnitDebuff}}("unit", index [,raidFilter]) - Retrieves info about a debuff of a certain unit. (updated 2.0)
:{{id|API|UnitDefense}}("unit") - Returns the base defense skill of the specified unit.
:{{id|API|UnitDetailedThreatSituation}}("unit", "[[unitId|mob]]") - Returns detailed information about the specified unit's threat on a mob. (added 3.0)
:{{id|API|UnitExists}}("unit") - Returns 1 if the specified unit exists, nil otherwise.
:{{id|API|UnitFactionGroup}}("unit") - Returns the faction group id and name of the specified unit. (eg. "Alliance") - string returned is localization-independent (used in filepath)
:{{id|API|UnitGroupRolesAssigned}}("unit") - Returns the assigned role in a group formed via the Dungeon Finder Tool. (added 3.3)
:{{id|API|UnitGUID}}("unit") - Returns the GUID as a string for the specified unit matching the GUIDs used by the new combat logs. (added 2.4)
:{{id|API|GetPlayerInfoByGUID}}("guid") - returns race, class, sex about the guid. client must have seen the guid. (added 3.2)
:{{id|API|UnitHasLFGDeserter}}("unit") - Returns whether the unit is currently unable to use the dungeon finder due to leaving a group prematurely. (added 3.3.3)
:{{id|API|UnitHasLFGRandomCooldown}}("unit") - Returns whether the unit is currently under the effects of the random dungeon cooldown. (added 3.3.3)
:{{id|API|UnitHasRelicSlot}}("unit")
:{{id|API|UnitHealth}}("unit") - Returns the current health, in points, of the specified unit.
:{{id|API|UnitHealthMax}}("unit") - Returns the maximum health, in points, of the specified unit.
:{{id|API|UnitInParty}}("unit") - Returns true if the unit is a member of your party.
:{{id|API|UnitInRaid}}("unit") - Returns the unit index if the unit is in your raid/battlegroud, nil otherwise.
:{{id|API|UnitInBattleground}}("unit") - Returns the unit index if the unit is in your battleground, nil otherwise.
:{{id|API|UnitIsInMyGuild}}("unit") - Returns whether the specified unit is in the same guild as the player's character.
:{{id|API|UnitInRange}}("unit") - Returns true if the unit (party or raid only) is in range of a typical spell such as flash heal. (added 2.4))
:{{id|API|UnitIsAFK}}("unit") - Only works for friendly units.
:{{id|API|UnitIsCharmed}}("unit") - Returns true if the specified unit is charmed, false otherwise.
:{{id|API|UnitIsConnected}}("unit") - Returns 1 if the specified unit is connected or npc, nil if offline or not a valid unit.
:{{id|API|UnitIsCorpse}}("unit") - Returns true if the specified unit is a corpse, false otherwise.
:{{id|API|UnitIsDead}}("unit") - Returns true if the specified unit is dead, nil otherwise.
:{{id|API|UnitIsDeadOrGhost}}("unit") - Returns true if the specified unit is dead or a ghost, nil otherwise.
:{{id|API|UnitIsDND}}("unit") - Only works for friendly units.
:{{id|API|UnitIsEnemy}}("unit", "otherUnit") - Returns true if the specified units are enemies, false otherwise.
:{{id|API|UnitIsFeignDeath}}("unit") - Returns true if the specified unit (must be a member of your group) is feigning death. (added 2.1)
:{{id|API|UnitIsFriend}}("unit", "otherUnit") - Returns true if the specified units are friends (PC of same faction or friendly NPC), false otherwise.
:{{id|API|UnitIsGhost}}("unit") - Returns true if the specified unit is a ghost, false otherwise.
:{{id|API|UnitIsPVP}}("unit") - Returns true if the specified unit is flagged for PVP, false otherwise.
:{{id|API|UnitIsPVPFreeForAll}}("unit") - Returns true if the specified unit is flagged for free-for-all PVP, false otherwise.
:{{id|API|UnitIsPVPSanctuary}}("unit") - Returns whether the unit is in a PvP sanctuary, and therefore cannot be attacked by other players.
:{{id|API|UnitIsPlayer}}("unit") - Returns true if the specified unit is a player character, false otherwise.
:{{id|API|UnitIsPossessed}}("unit") - Returns whether the specified unit is currently under control of another (i.e. "pet" when casting Mind Control).
:{{id|API|UnitIsSameServer}}("unit", "otherUnit") - Returns whether the specified units are from the same server.
:{{id|API|UnitIsTapped}}("unit") - Returns true if the specified unit is tapped, false otherwise.
:{{id|API|UnitIsTappedByPlayer}}("unit") - Returns true if the specified unit is tapped by the player himself, otherwise false.
:{{id|API|UnitIsTappedByAllThreatList}}("unit") - Returns whether the specified unit is a community monster, i.e. whether all players engaged in combat with it will receive kill (quest) credit.
:{{id|API|UnitIsTrivial}}("unit") - Returns true if the specified unit is trivial (Trivial means the unit is "grey" to the player. false otherwise.
:{{id|API|UnitIsUnit}}("unit", "otherUnit") - Determine if two units are the same unit.
:{{id|API|UnitIsVisible}}("unit") - 1 if visible, nil if not
:{{id|API|UnitLevel}}("unit") - Returns the level of a unit.
:{{id|API|UnitMana}}("unit") - Returns the current mana (or energy,rage,etc), in points, of the specified unit. (replaced by 'UnitPower' 3.0.2)
:{{id|API|UnitManaMax}}("unit") - Returns the maximum mana (or energy,rage,etc), in points, of the specified unit. (replaced by 'UnitPowerMax' 3.0.2)
:{{id|API|UnitName}}("unit") - Returns the name (and realm name) of a unit.
:{{id|API|UnitOnTaxi}}("unit") - Returns 1 if unit is on a taxi.
:{{id|API|UnitPlayerControlled}}("unit") - Returns true if the specified unit is controlled by a player, false otherwise.
:{{id|API|UnitPlayerOrPetInParty}}("unit") - Returns 1 if the specified unit/pet is a member of the player's party, nil otherwise (returns nil for "player" and "pet") (added 1.12)
:{{id|API|UnitPlayerOrPetInRaid}}("unit") - Returns 1 if the specified unit/pet is a member of the player's raid, nil otherwise (returns nil for "player" and "pet") (added 1.12)
:{{id|API|UnitPVPName}}("unit") - Returns unit's name with PvP rank prefix (e.g., "Corporal Allianceguy").
:{{id|API|UnitPVPRank}}("unit") - Get PvP rank information for requested unit.
:{{id|API|UnitPower}}("unit"[,type]) - Returns current power of the specified unit. (replaced 'UnitMana' 3.0.2)
:{{id|API|UnitPowerMax}}("unit"[,type]) - Returns max power of the specified unit. (replaced 'UnitManaMax' 3.0.2)
:{{id|API|UnitPowerType}}("unit") - Returns a number corresponding to the power type (e.g., mana, rage or energy) of the specified unit.
:{{id|API|UnitRace}}("unit") - Returns the race name of the specified unit (e.g., "Human" or "Troll").
:{{id|API|UnitRangedAttack}}("unit") - Returns the ranged attack number of the unit.
:{{id|API|UnitRangedAttackPower}}("unit") - Returns the ranged attack power of the unit.
:{{id|API|UnitRangedDamage}}("unit") - Returns the ranged attack speed and damage of the unit.
:{{id|API|UnitReaction}}("unit", "otherUnit") - Returns a number corresponding to the reaction (aggressive, neutral or friendly) of the first unit towards the second unit.
:{{id|API|UnitResistance}}("unit", "resistanceIndex") - Returns the resistance statistics relevant to the specified unit and resistance type.
:{{id|API|UnitSelectionColor}}([[UnitId]]) - Returns RGBA values for the color of a unit's name.
:{{id|API|UnitSex}}("unit") - Returns a code indicating the gender of the specified unit, if known. (1=unknown, 2=male, 3=female) (updated 1.11)
:{{id|API|UnitStat}}("unit", statIndex) - Returns the statistics relevant to the specified unit and basic attribute (e.g., strength or intellect).
:{{id|API|UnitThreatSituation}}("unit", "[[unitId|mob]]") - Returns the specified unit's threat status on a mob. (added 3.0)
:{{id|API|UnitUsingVehicle}}("unit") - Returns whether the specified unit is currently using a vehicle (including transitioning between seats).
:{{id|API|GetThreatStatusColor}}(status) - Returns RGB values for a given UnitThreatSituation return value.
:{{id|API|UnitXP}}("unit") - Returns the number of experience points the specified unit has in their current level. (only works on your player)
:{{id|API|UnitXPMax}}("unit") - Returns the number of experience points the specified unit needs to reach their next level. (only works on your player)
:{{id|API|SetPortraitTexture}}(texture,"unit") - Paint a Texture object with the specified unit's portrait.
:{{id|API|SetPortraitToTexture}}(texture or "texture", "texturePath") - Sets the texture to be displayed from a file applying a circular opacity mask making it look round like portraits.
=== Vehicle ===
These functions were added in [[Patch 3.0.2]].
:{{id|API|CanExitVehicle}}() - Returns 1 if the player can be exit the Vehicle.
:{{id|API|CanSwitchVehicleSeats}}() - Returns 1 if the player can Switch Seats in the Vehicle
:{{id|API|CanEjectPassengerFromSeat}}(seat) - Returns 1 if the player can eject a passenger from a seat.
:{{id|API|GetBattlefieldVehicleInfo}}(index)
:{{id|API|GetNumBattlefieldVehicles}}(index)
:{{id|API|EjectPassengerFromSeat}}(seat) - Ejects a passenger from a seat.
:{{id|API|IsUsingVehicleControls}}()
:{{id|API|IsUsingVehicleControls}}()
:{{id|API|IsVehicleAimAngleAdjustable}}() - Returns 1 if the player can adjust the Aim Angle of the Vehicle.
:{{id|API|IsVehicleAimPowerAdjustable}}() - Returns 1 if the player can adjust the Aim Power of the Vehicle.
:{{id|API|UnitControllingVehicle}}(unit)
:{{id|API|UnitHasVehicleUI}}(unit)
:{{id|API|UnitInVehicle}}(unit)
:{{id|API|UnitInVehicleControlSeat}}(unit)
:{{id|API|UnitSwitchToVehicleSeat}}(unit, seatId)
:{{id|API|UnitTargetsVehicleInRaidUI}}(unit)
:{{id|API|UnitVehicleSeatCount}}(unit)
:{{id|API|UnitVehicleSeatInfo}}(unit, seatId)
:{{id|API|UnitVehicleSkin}}(unit)
:{{id|API|VehicleAimDecrement}}()
:{{id|API|VehicleAimDownStart}}()
:{{id|API|VehicleAimDownStop}}()
:{{id|API|VehicleAimGetAngle}}()
:{{id|API|VehicleAimGetNormAngle}}()
:{{id|API|VehicleAimGetNormPower}}()
:{{id|API|VehicleAimIncrement}}()
:{{id|API|VehicleAimRequestAngle}}()
:{{id|API|VehicleAimRequestNormAngle}}()
:{{id|API|VehicleAimSetNormPower}}()
:{{id|API|VehicleAimUpStart}}()
:{{id|API|VehicleAimUpStop}}()
:{{id|API|VehicleCameraZoomIn}}(amount)
:{{id|API|VehicleCameraZoomOut}}(amount)
:{{id|API|VehicleExit}}() - Exit the current Vehicle
:{{id|API|VehicleNextSeat}}()
:{{id|API|VehiclePrevSeat}}()
=== Voice Chat ===
These functions were added in [[Patch 2.2]].
:{{id|API|AddMute}}("name")
:{{id|API|AddOrDelMute}}("unit")
:{{id|API|ChannelSilenceAll}}()
:{{id|API|ChannelSilenceVoice}}()
:{{id|API|ChannelUnSilenceAll}}()
:{{id|API|ChannelUnSilenceVoice}}()
:{{id|API|ChannelVoiceOff}}()
:{{id|API|ChannelVoiceOn}}()
:{{id|API|DelMute}}("name")
:{{id|API|DisplayChannelVoiceOff}}()
:{{id|API|DisplayChannelVoiceOn}}()
:{{id|API|GetActiveVoiceChannel}}()
:{{id|API|GetChannelDisplayInfo}}(id) - Returns the name of the channel according to the given id.
:{{id|API|GetNumVoiceSessions}} - Returns the number of voice sessions the client is currently in. Ignores those under the 'World' category.
:{{id|API|GetSelectedDisplayChannel}}()
:{{id|API|GetSelectedMute}}()
:{{id|API|GetMuteName}}(id) - Returns the name of a muted player.
:{{id|API|GetMuteStatus}}("unit", "channel") - Returns whether a particular unit is currently muted in a particular channel.
:{{id|API|GetNumMutes}}() - Returns the number of people you currently have muted.
:{{id|API|GetVoiceCurrentSessionID}}()
:{{id|API|GetVoiceSessionInfo}}(id) - Returns the name of the voice session according to the given id. Does not apply for channels under the 'World' category.
:{{id|API|GetVoiceStatus}}("[[unitId|unit]]")
:{{id|API|IsMuted}}("name")
:{{id|API|IsSilenced}}()
:{{id|API|IsVoiceChatAllowed}} - Returns 1 if Voice Chat is enabled on the server, ''nil'' otherwise
:{{id|API|IsVoiceChatEnabled}} - Returns 1 if Voice Chat is enabled for your client, ''nil'' otherwise
:{{id|API|SetActiveVoiceChannelBySessionID}} - Set the active voice session to the session of the given id.
:{{id|API|SetActiveVoiceChannel}}()
:{{id|API|SetSelectedDisplayChannel}}()
:{{id|API|SetSelectedMute}}()
:{{id|API|UnitIsSilenced}}()
:{{id|API|UnitIsTalking}}()
:{{id|API|UnSilenceMember}}()
:{{id|API|VoiceChat_ActivatePrimaryCaptureCallback}}()
:{{id|API|VoiceChat_GetCurrentMicrophoneSignalLevel}}()
:{{id|API|VoiceChat_IsPlayingLoopbackSound}}()
:{{id|API|VoiceChat_IsRecordingLoopbackSound}}()
:{{id|API|VoiceChat_PlayLoopbackSound}}()
:{{id|API|VoiceChat_RecordLoopbackSound}}()
:{{id|API|VoiceChat_StartCapture}}()
:{{id|API|VoiceChat_StopCapture}}()
:{{id|API|VoiceChat_StopPlayingLoopbackSound}}()
:{{id|API|VoiceChat_StopRecordingLoopbackSound}}()
:{{id|API|VoiceEnumerateCaptureDevices}}()
:{{id|API|VoiceEnumerateOutputDevices}}()
:{{id|API|VoiceGetCurrentCaptureDevice}}()
:{{id|API|VoiceGetCurrentOutputDevice}}()
:{{id|API|VoiceIsDisabledByClient}}()
:{{id|API|VoicePushToTalkStart}}()
:{{id|API|VoicePushToTalkStop}}()
:{{id|API|VoiceSelectCaptureDevice}}()
:{{id|API|VoiceSelectOutputDevice}}()
=== World Battlefield ===
The following functions are used for population-limited world PvP zones, primarily [[Lake Wintergrasp]].
:{{id|API|BattlefieldMgrEntryInviteResponse}}(queueId, accept)
:{{id|API|BattlefieldMgrExitRequest}}(queueId)
:{{id|API|BattlefieldMgrQueueInviteResponse}}(queueId, accept)
:{{id|API|BattlefieldMgrQueueRequest}}
:{{id|API|CanHearthAndResurrectFromArea}}() - Returns whether you can currently be resurrected and teleported out of the world PvP zone.
:{{id|API|HearthAndResurrectFromArea}}() - Resurrects the player and ports them out of world PvP zone.
:{{id|API|CanQueueForWintergrasp}}() - Returns whether you can queue for Lake Wintergrasp at the moment.
:{{id|API|GetWintergraspWaitTime}}() - Returns number of seconds before the next Lake Wintergrasp battle, nil if a battle is currently in progress.
:{{id|API|GetWorldPVPQueueStatus}}(queueId)
=== Who ===
:{{id|API|GetNumWhoResults}}() - Return the number of entries resulting from your most recent /who query.
:{{id|API|GetWhoInfo}}(index)
:{{id|API|SendWho}}("filter") - Send a who request to the server.
:{{id|API|SetWhoToUI}}(toUIFlag) - 'who' request results should be sent as WHO_LIST_UPDATE instead of to chat.
:{{id|API|SortWho}}(sortType) - Sorts an existing /who list; displays the Who List frame if not visible.
== See also ==
* [[API change summaries]] document changes made in WoW patches, as summarized on the US official UI forum.
* [[Battle.net API]] previously known as the Community Web Platform API or Web API, for web API access. Info on functions to interact with [[wowwiki:Blizzard|Blizzard]] web sites, not in-game.
* [[Widget API]] documents other general Lua methods that can be called on widget objects.
* [[XML UI]] documents the Ui XML interface, and includes other documentation relating to [[FrameXML]] and [[GlueXML]].
* [[Lua functions|WoW Lua]] describe the Lua language and library functions available in the WoW client.
* [[AddOn]] is the main reference for WoW AddOn development.
* [[User Defined Functions]] lists various useful user-contributed functions.
** [[:Category:AddOns Libraries]] contains some AddOns that do nothing but provide you with utility functions.
== External links ==
Discussion:
{{elink|type=bnetwowus|site=Official UI and Macro forum (US)|link=http://us.battle.net/wow/en/forum/1011693/}}
{{elink|type=bnetwoweu|site=Official Interface and Macros forum (EU)|link=http://eu.battle.net/wow/en/forum/874706/}}
News:
{{elink|type=wowinsider|link=http://wow.joystiq.com/2011/07/21/blizzards-apis-and-you-cool-information-and-tools-coming-down/|desc=Blizzard's APIs and You: Cool information and tools coming down the pipe|bydate=by wowinsider Mathew McCurley Jul 21st 2011 at 7:00PM}}

Latest revision as of 06:24, 15 August 2023

WoW API

This is the main reference page for the Lua based WoW UI API, and is available to user Macros and AddOns. This API is available during normal game play. See also WoW Glue API.

Details[edit]

The World of Warcraft API, or WoW API, is a set of Lua functions and facilities provided by the Blizzard WoW Client, to allow interaction with the World of Warcraft and its user interface. The list below is incomplete, and kept up to date through user contributions. See also the an automatically-generated exhaustive list of all API functions present in the latest live client.

For beginners, AddOn contains a number of very informative sources to help get you started. You can also examine the existing UI code to find examples of how the various functions are used by the default UI.

Reference[edit]

Global API functions for WoW in Lua.

  • API types - variable value types, used here as parameters and return values.

If you're contributing documentation, please read How to edit API pages.

Function names can be prefixed with the following tags, see API notation and conventions:

  • PROTECTED - can only be called from secure code. See Protected Functions.
  • NOCOMBAT - can only be called from secure code while out of combat.
  • HW - may only be called in response to a hardware event, like from OnClick handlers.
  • UI - is implemented in Lua in FrameXML, but was important enough to appear here.
  • DEPRECATED - is planned to no longer be used, and more than likely removed in future version.
  • REMOVED - was removed from the API. should be moved from here to Removed Functions.

Calling functions via macro or command line:

/run BNSetMatureLanguageFilter(true)
/run local x=GetAccountExpansionLevel(); SendChatMessage(x)

Account[edit]

GetAccountExpansionLevel() - Returns registered expansion. (0=WoW, 1=BC, 2=WotLK, 3=Cata, 4=Mists, 5=Warlords, 6=Legion, 7=BfA, 8=Shadowlands)

These functions only return meaningful values on Asian realms; all three relate to the play time limitation system.

GetBillingTimeRested() - returns the time spent logged in current billing unit.
PartialPlayTime() - returns 1 if the player is currently "tired": reduced XP, loot.
NoPlayTime() - returns 1 if the player is currently "unhealthy": no XP, loot.

Achievement[edit]

These functions are only available in Patch 3.0.

AddTrackedAchievement(achievementId) - Add an achievement to tracking.
CanShowAchievementUI() - Returns if the AchievementUI can be displayed
ClearAchievementComparisonUnit() - Remove the unit being compared.
GetAchievementCategory(achievementID) - Return the category number of the requested achievement.
GetAchievementComparisonInfo(achievementID, comparisonNum) - Returns status of achievement for comparison player.
GetAchievementCriteriaInfo(achievementID, criteriaIndex) - Returns information about the requested criteria.
GetAchievementCriteriaInfoByID(achievementID, criteriaID) - Returns information about the requested criteria. (added 5.0.4)
GetAchievementInfo(achievementID) or (category, offset) - Returns information about the requested Achievement.
GetAchievementInfoFromCriteria(id) - Returns information about the requested Achievement.
GetAchievementLink(achievementID) - Returns a achievementLink for the specified Achievement.
GetAchievementNumCriteria(achievementID) - Return the number of criteria the requested Achievement has.
GetAchievementNumRewards(achievementID) - Return the number of rewards the requested Achievement has.
GetCategoryInfo(category) - Return information about the requested category
GetCategoryList() - Returns the list of Achievement categories.
GetCategoryNumAchievements(category) - Return the total Achievements and number completed for the specific category.
GetComparisonAchievementPoints() - Return the total number of achievement points the comparison unit has earned.
GetComparisonCategoryNumAchievements(achievementID)
GetComparisonStatistic(achievementID) - Return the value of the requested statistic for the comparison player.
GetLatestCompletedAchievements() - Return the ID's of the last 5 completed Achievements.
GetLatestCompletedComparisonAchievements()
GetLatestUpdatedComparisonStats()
GetLatestUpdatedStats() - Return the ID's of the last 5 updated Statistics.
GetNextAchievement(achievementID)
GetNumComparisonCompletedAchievements()
GetNumCompletedAchievements([guildOnly]) - Returns total and completed number of achievements, or only guild.
GetPreviousAchievement(achievementID) - Return previous related achievements.
GetStatistic(achievementID) - Return the value of the requested statistic.
GetStatisticsCategoryList() - Returns the list of Statistic categories.
GetTotalAchievementPoints([guildOnly]) - Return the total, or only guild, achievement points earned.
GetTrackedAchievements() - Return the AchievementID of the currently tracked achievements
GetNumTrackedAchievements() - Return the total number of the currently tracked achievements
RemoveTrackedAchievement(achievementID) - Stops an achievement from being tracked
SetAchievementComparisonUnit(unitId) - Set the unit to be compared to.

Action[edit]

These functions are those which operate with the action buttons. See #Activity section for general player actions.

PROTECTED UI ActionButtonDown(id) - Press the specified action button. (protected 2.0)
PROTECTED UI ActionButtonUp(id) - Release the specified action button. (protected 2.0)
ActionHasRange(slot) - Determine if the specified action is a range restriction [1 if yes, nil if no]
UI BonusActionButtonDown - Trigger the specified bonus(pet or minion) action button.
UI BonusActionButtonUp - Release the specified bonus(pet or minion) action button.
PROTECTED CameraOrSelectOrMoveStart() - Begin "Left click" in the 3D world. (protected 1.10)
PROTECTED CameraOrSelectOrMoveStop([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
NOCOMBAT ChangeActionBarPage(page) - Changes the current action bar page.
GetActionBarPage() - Return the current action bar page. CURRENT_ACTIONBAR_PAGE is obsolete.
GetActionBarToggles() - Return the toggles for each action bar.
GetActionCooldown(slot) - This returns the cooldown values of the specified action..
GetActionCount(slot) - Get the count (bandage/potion/etc) for an action, returns 0 if none or not applicable.
GetActionInfo(slot) - Returns type, id, subtype.
GetActionText(slot) - Get the text label (macros, etc) for an action, returns nil if none.
GetActionTexture(slot) - Gets the texture path for the specified action.
GetBonusBarOffset() - Determine which page of bonus actions to show.
GetMouseButtonClicked() - Returns the name of the button that triggered a mouse down/up/click/doubleclick event. (added 2.0.3)
GetMultiCastBarOffset() - Returns the page offset of the multicast action IDs (added 3.2)
GetPossessInfo(index) - Returns texture, name, enabled.
HasAction(slot) - Returns 1 if the player has an action in the specified slot, nil otherwise.
IsActionInRange(slot,[unit]) - Test if an action is in range (1=yes, 0=no, nil=not applicable).
IsAttackAction(slot) - Return 1 if an action is an 'attack' action (flashes during combat), nil otherwise.
IsAutoRepeatAction(slot) - Return 1 if an action is auto-repeating, nil otherwise.
IsCurrentAction(slot) - Return 1 if an action is the one currently underway, nil otherwise.
IsConsumableAction(slot) - Return 1 if an action is consumable (i.e. has a count), nil otherwise.
IsEquippedAction(slot) - Return 1 if an action is equipped (i.e. connected to an item that must be equipped), nil otherwise.
IsUsableAction(slot) - Return 1 if an action can be used at present, nil otherwise.
PetHasActionBar() - Determine if player has a pet with an action bar.
NOCOMBAT PickupAction(slot) - Drags an action out of the specified quickbar slot and holds it on the cursor.
NOCOMBAT PickupPetAction(slot) - Drags an action from the specified pet action bar slot into the cursor.
PlaceAction(slot) - Drops an action from the cursor into the specified quickbar slot.
SetActionBarToggles(show1,show2,show3,show4[, alwaysShow]) - Set show toggle for each action bar - 'alwaysShow' (added 1.12)
StopAttack() - Turns off auto-attack, if currently active. Has no effect is the player does not currently have auto-attack active.
PROTECTED TurnOrActionStart() - Begin "Right Click" in the 3D world. (protected 1.10)
PROTECTED TurnOrActionStop() - End "Right Click" in the 3D world. (protected 1.10)
PROTECTED UseAction(slot[, checkCursor[, onSelf]]) - This instructs the interface to use the action associated with the specified ID, optionally on the player, regardless of target. (protected 2.0)

Activity[edit]

These functions make the player do something, and which aren't covered elsewhere and aren't simply confirmation steps.

AcceptDuel() - The player accepts the challenge to duel.
PROTECTED AttackTarget() - Attacks the targetted unit.
CancelDuel() - Refuse the invitation to fight a duel.
CancelLogout() - Cancels the logout timer, from camping or quitting.
ClearTutorials()
CancelSummon() - Rejects a summon request.
ConfirmSummon() - Accepts a summon request.
PROTECTED DescendStop() - The player stops descending, while swimming or flying. (added 2.1)
Dismount() - The player dismounts the current mount. (added 2.0.3)
FlagTutorial("tutorial")
ForceQuit() - Instantly quits the game, bypassing the timer.
GetPVPTimer() - Returns the amount of time until your PvP flag fades.
GetSummonConfirmAreaName() - Returns the name of the area you're being summoned to.
GetSummonConfirmSummoner() - Returns the name of the player summoning you.
GetSummonConfirmTimeLeft() - Returns the amount of time left before the pending summon expires.
Logout - Logs the user out of the game.
Quit - Quits the game, not the Lua script.
RandomRoll(low, high) - Does a random roll between the two values.
SetPVP(arg1) - Sets the players PVP mode (1 to enable, nil to toggle off eventually)
PROTECTED SitStandOrDescendStart() - The player sits, stands, or descends (added 2.1)
PROTECTED StartDuel("name") - Challenge someone to a duel, by name. (protected 2.0)
TogglePVP() - Toggles PVP status
ToggleSheath() - Toggles sheathed or unsheathed weapons.
UseSoulstone() - Use an active soulstone to resurrect yourself after death. Also works for Shamans with Reincarnation available.

AddOn[edit]

DisableAddOn(index or "AddOnName") - Disable the specified AddOn for subsequent sessions.
DisableAllAddOns() - Disable all AddOns for subsequent sessions.
EnableAddOn(index or "AddOnName") - Enable the specified AddOn for subsequent sessions.
EnableAllAddOns() - Enable all AddOns for subsequent sessions.
GetAddOnDependencies(index or "AddOnName") - Get dependency list for an AddOn.
GetAddOnInfo(index or "AddOnName") - Get information about an AddOn.
GetAddOnMetadata(index or "name", "variable") - Retrieve metadata from addon's TOC file.
GetNumAddOns() - Get the number of user supplied AddOns.
IsAddOnLoaded(index or "AddOnName") - Returns true if the specified AddOn is loaded.
IsAddOnLoadOnDemand(index or "AddOnName") - Test whether an AddOn is load-on-demand.
LoadAddOn(index or "AddOnName") - Request loading of a Load-On-Demand AddOn.
ResetDisabledAddOns()

Archaeology[edit]

Functions for the Archaeology Profession. Added in 4.0.1 Cataclysm.

CanSolveArtifact()
GetArtifactInfoByRace(raceIndex, projectIndex)
GetArtifactProgress()
GetNumArtifactsByRace(index)
GetSelectedArtifactInfo()
IsArtifactCompletionHistoryAvailable() - Returns 1 if the player has completed at least one artifact, otherwise nil;
ItemAddedToArtifact(index) - Returns true if an item is in the indicated artifact slot, otherwise false.
RemoveItemFromArtifact(SlotID)
RequestArtifactCompletionHistory()
SocketItemToArtifact(SlotID)

Arena[edit]

AcceptArenaTeam() - Accepts a pending Arena team invitation.
ArenaTeamInviteByName(teamIndex, playerName) - Invites the specified player to the specified arena team.
ArenaTeamSetLeaderByName(teamIndex, playerName) - Sets new Team Leader to the specified arena team.
ArenaTeamLeave(teamIndex) - Leaves the specified arena team.
ArenaTeamRoster(teamIndex) - Sends a request to the server to request the most recent information on a specific Arena Team that you are in.
ArenaTeamUninviteByName(teamIndex, playerName) - Removes the specified played from the specified arena team.
ArenaTeamDisband(teamIndex) - Disbands the arena team without any warning! Requires you to be the leader of the team. (added 2.1.3)
DeclineArenaTeam() - Declines a pending Arena team invitation.
GetArenaTeam(teamIndex) - Returns information regarding the players arena team, nil if the player is not in the passed team
GetArenaTeamGdfInfo() - (added 3.0.8)
GetArenaTeamRosterInfo(teamIndex, playerIndex) - Returns information regarding a player from the specified team. This requires a call to #ArenaTeamRoster you only need to do this when the player logins in, UI reloads will not effect the return.
GetBattlefieldTeamInfo(index) - Gets info about a registered Arena Team at the end of an arena match.
GetCurrentArenaSeason() - Gets the current Arena season.
GetInspectArenaTeamData(index) - Retrieves all the data associated with the inspected player's arena team located at index.
GetNumArenaTeamMembers(teamIndex[, showOffline]) - Gets the number of arena team members. This requires a call to #ArenaTeamRoster you only need to do this when the player logins in, UI reloads will not effect the return.
GetPreviousArenaSeason() - Gets the previous Arena season.
IsActiveBattlefieldArena() - Returns true if in an Arena Match, also Returns true for the second argument if it's a registered match.
IsArenaTeamCaptain(teamIndex) - Returns a value based on whether the player is the arena team captain.
IsInArenaTeam() - Returns true if you are a member of an arena team.

Auction[edit]

CalculateAuctionDeposit(runTime, stackSize, numStacks) - Returns the required deposit for the current selling item given the specified duration (1=12h, 2=24h, 3=48h).
CanCancelAuction(index) - Returns 1 if auction can be canceled.
CancelSell() - Clears the auction house listing queue, not creating any additional auctions. (added 3.3.3)
CanSendAuctionQuery() - Return 1 if auction search button would be active, nil otherwise.
CancelAuction(index) - Cancel the specified auction (on the "owner" list).
ClickAuctionSellItemButton() - Puts the currently 'picked up' item into the 'create auction' slot.
CloseAuctionHouse() - Will close the AuctionFrame if opened.
DEPRECATED GetAuctionHouseDepositRate() - Returns the deposit rate (percentage) for the currently open auction house. (obsolete by '#CalculateAuctionDeposit')
GetAuctionInvTypes(classIndex, subclassIndex) - Returns types of subcategories items.
GetAuctionItemClasses() - Returns major auction item categories.
GetAuctionItemInfo("type", index) - Returns details about the specified auction item.
GetAuctionItemLink("type", index) - Returns an itemLink for the specified auction item.
GetAuctionItemSubClasses(classIndex) - Returns subcategories in the nth auction category.
GetAuctionItemTimeLeft("type", index) - Returns the time left status of the specified auction item.
GetAuctionSellItemInfo() - Returns information about the current selling item (or nil if none selected).
DEPRECATED GetBidderAuctionItems([page]) - Returns details about an auction item on which the user is bidding (obsolete by '#CalculateAuctionDeposit("bidder", item)')
GetNumAuctionItems("type") - Returns the size of the specified auction item list.
DEPRECATED GetOwnerAuctionItems([page]) - Returns details about an auction item of which the user is the owner (obsolete by '#GetAuctionItemInfo("owner", item)')
GetSelectedAuctionItem("type") - Returns the index (1-50) of the selected auction item or 0 if none is selected.
IsAuctionSortReversed("type", "sort") - Returns 1 if the specified auction list and sort is reversed, nil otherwise.
PlaceAuctionBid("type", index, bid) - Place a bid on the selected auction item.
QueryAuctionItems("name", minLevel, maxLevel, invTypeIndex, classIndex, subclassIndex, page, isUsable, qualityIndex) - Performs a search of the auction house with the specified characteristics.
SetAuctionsTabShowing(showing) - Sets whether auction-related events should be delivered to the client. (added 3.3.3)
SetSelectedAuctionItem("type", index) - Selects a specific item in the auction house.
SortAuctionItems("type", "sort") - Request that the specified auction list be sorted by a specific column.
StartAuction(minBid, buyoutPrice, runTime, stackSize, numStacks) - Starts the auction you have created in the Create Auction panel.
UI AuctionFrameAuctions.duration - Set the amount of time the auction will run for in minutes.

Bank[edit]

BankButtonIDToInvSlotID(buttonID, isBag) - Returns the ID number of a bank button or bag in terms of inventory slot ID.
CloseBankFrame() - Close the bank frame if it's open.
GetBankSlotCost(numSlots) - Returns the cost of the next bank slot.
GetNumBankSlots() - Returns total purchased bank bag slots, and a flag indicating if it's full.
PurchaseSlot() - Buys another bank slot if available.

Barber Shop[edit]

These functions were introduced in 3.0.2.

ApplyBarberShopStyle() - Purchase and apply the cosmetic changes.
BarberShopReset() - Reset any changes made in the Barber Shop.
CancelBarberShop() - Exit the Barber Shop chair.
GetBarberShopStyleInfo(id) - Returns information about the currently selected style.
GetBarberShopTotalCost() - Returns the total costs of the cosmetic changes.
GetFacialHairCustomization() - Returns the type of facial hair customization available to the character.
GetHairCustomization() - Returns the type of haircut customization available to the character.
SetNextBarberShopStyle(id[, reverse]) - Alters style selection in a particular category.

Battlefield[edit]

AcceptAreaSpiritHeal() - Accept a spirit heal.
AcceptBattlefieldPort(index[, acceptFlag]) - Accept or reject an offered battlefield port.
CancelAreaSpiritHeal() - Cancel a spirit heal.
CanJoinBattlefieldAsGroup() - returns nil if the player can not do a group join for a battlefield.
CheckSpiritHealerDist() - Return true if you are in range with spirit healer while dead.
GetAreaSpiritHealerTime() - Returns the time left until the next resurrection by the Sprit Guide.
GetBattlefieldEstimatedWaitTime(index) - Get the estimated wait for entry into the battlefield.
GetBattlefieldFlagPosition(index) - Get the map position and texture of the flag.
GetBattlefieldInstanceExpiration() - Get shutdown timer for the battlefield instance.
GetBattlefieldInstanceRunTime() - In milliseconds, the time since battleground started (seems to be queried from server because it is not in sync with time()).
GetBattlefieldMapIconScale() - Scale of the landmark icons on the battlefield minimap.
GetBattlefieldPortExpiration(index) - Get the remaining seconds before the battlefield port expires.
GetBattlefieldPosition(index) - Get the map position and name of a player in the battleground not in your raid.
GetBattlefieldScore(index) - Get score information about a player.
GetBattlefieldStatData(playerIndex, slotIndex) - Get information for a player from a column thats specific to a battleground (like Warsong Gulch flag captures).
GetBattlefieldStatInfo(index) - Get the battleground specific column for the score board.
GetBattlefieldStatus(index) - Get the battlefield's current status.
GetBattlefieldTimeWaited(index) - Get time waited in queue in milliseconds.
GetBattlefieldWinner() - Get the battlefields winner.
GetBattlegroundInfo() - Returns information about a battleground type.
GetNumBattlefieldFlagPositions() - Get the number of flag positions available from GetBattlefieldFlagPosition().
GetNumBattlefieldPositions() - Get the number of positions available from GetBattlefieldPosition().
GetNumBattlefieldScores() - Returns the number of scores(players) listed in the battlefield scoreboard.
GetNumBattlefieldStats() - Get the number of battleground specific columns.
GetNumWorldStateUI() - Get the number of WorldState UI's.
REMOVED GetWintergraspWaitTime() - Get the number of seconds until the next Wintergrasp battle. Returns nil if battle is in progress.
GetWorldStateUIInfo(i) - Get score and flag status within a battlefield.
IsPVPTimerRunning()
JoinBattlefield(index[, joinAs]) - Queue for a battleground either solo or as a group.
LeaveBattlefield() - Leave the current battlefield
ReportPlayerIsPVPAFK("unit") - Reports the specified player as AFK in a battleground.
RequestBattlefieldPositions() - Request new data for GetBattlefieldPosition().
RequestBattlefieldScoreData() - Request new data for GetBattlefieldScore().
RequestBattlegroundInstanceInfo(index) - Requests data about the available instances of a battleground.
SetBattlefieldScoreFaction([faction]) - Set the faction to show on the battlefield scoreboard.

Binding[edit]

GetBinding(index) - Get action and key bindings for that index.
GetBindingAction("KEY" [,checkOverride]) - Get the action bound to that key.
GetBindingKey("command") - Get the key(s) bound to that action.
UI GetBindingText("key", "prefix", returnAbbr) - Gets the string value for the key.
GetCurrentBindingSet() - Queries if current set of key bindings is character or account specific
GetNumBindings() - Get total number key bindings and headers.
LoadBindings(which) - Loads default, account or character specific key binding set into memory from disk.
RunBinding("command"[, "up"]) - Executes the key binding named "command"
SaveBindings(which) - Saves account or character specific key bindings from memory to disk.
NOCOMBAT SetBinding("key"[, "command"[, mode]]) - Sets or unsets key bindings. (2.0 - Can not be used in combat.)
NOCOMBAT SetBindingSpell("KEY", "Spell Name") - Set a key binding directly to a spell, uses the same spell name syntax as /cast.
NOCOMBAT SetBindingClick("KEY", "ButtonName" [,"mouseButton"]) - Set a key binding directly to a Button object. The click sends a mouse down when the key is pressed, and a mouse up when it is released.
NOCOMBAT SetBindingItem("KEY", "itemname")
NOCOMBAT SetBindingMacro("KEY", "macroname"|macroid)
SetConsoleKey("key") - Sets the console key (normally ~ ).
NOCOMBAT SetOverrideBinding(owner, isPriority, "KEY" [,"COMMAND"]) - Set (or clear) an override key binding.
NOCOMBAT SetOverrideBindingSpell(owner, isPriority, "KEY", "spellname")
NOCOMBAT SetOverrideBindingClick(owner, isPriority, "key", "buttonName" [, "mouseClick"]) - Sets an override binding that acts like a mouse click on a button.
NOCOMBAT SetOverrideBindingItem(owner, isPriority, "KEY", "itemname")
NOCOMBAT SetOverrideBindingMacro(owner, isPriority, "KEY", "macroname"|macroid)
NOCOMBAT ClearOverrideBindings(owner) - Reset all overrides belonging to an owner.
SetMouselookOverrideBinding("KEY" [,"COMMAND"])
IsModifierKeyDown() - equivalent to (IsShiftKeyDown() or IsControlKeyDown() or IsAltKeyDown()).
IsModifiedClick("action") - Returns 1 if the keys for the specified action are down, nil otherwise.
IsMouseButtonDown([button or "button"])

Buff / Debuff[edit]

PROTECTED CancelUnitBuff("unit", index or "spell" [,"filter" or "rank"]) - Removes a specific buff from the player.
PROTECTED CancelShapeshiftForm() - Cancels a druid's shapeshift form buff.
PROTECTED CancelItemTempEnchantment(weaponHand) - Cancels a temporary weapon enchant on weaponHand (1 for Main hand, 2 for Off hand).
GetWeaponEnchantInfo() - Return information about main and offhand weapon enchantments.
UnitAura("unit", index or "buffName" [,filter]) - Returns information about a buff/debuff of a certain unit.
UnitBuff("unit", index or "buffName" [,castable]) - Retrieves info about a buff of a certain unit.
UnitDebuff("unit", index or "buffName" [,removable]) - Retrieves info about a debuff of a certain unit.

Calendar[edit]

HW CalendarAddEvent() - Saves the selected event (new events only, requires hardware input to call)
CalendarCanAddEvent() - Returns true if player can add an event
CalendarCanSendInvite() - Returns true if player can send invites
CalendarCloseEvent() - Closes the selected event without saving it
CalendarContextDeselectEvent() - (added 3.0.8)
CalendarContextEventCanComplain(monthOffset, day, eventIndex) - Returns true if player can report the event as spam
CalendarContextEventCanEdit(monthOffset, day, eventIndex) - Returns true if player can edit the event
CalendarContextEventClipboard()
CalendarContextEventComplain(monthOffset, day, eventIndex) - Reports the event as spam
CalendarContextEventCopy(monthOffset, day, eventIndex) - Copies the event to the clipboard
CalendarContextEventGetCalendarType()
CalendarContextEventPaste(monthOffset, day) - Pastes the clipboard event to the date
CalendarContextEventRemove(monthOffset, day, eventIndex) - Deletes the event
CalendarContextEventSignUp()
CalendarContextGetEventIndex() - (added 3.0.8)
CalendarContextInviteAvailable(monthOffset, day, eventIndex) - Accepts the invitation to the event
CalendarContextInviteDecline(monthOffset, day, eventIndex) - Declines the invitation to the event
CalendarContextInviteIsPending(monthOffset, day, eventIndex) - Returns true if the player hasn't responded to the event invite
CalendarContextInviteTentative()
CalendarContextInviteType
CalendarContextInviteModeratorStatus(monthOffset, day, eventIndex)
CalendarContextInviteRemove(monthOffset, day, eventIndex) - Removes the event from the calendar
CalendarContextInviteStatus(monthOffset, day, eventIndex) - returns inviteStatus
CalendarContextSelectEvent(monthOffset, day, eventIndex) - (added 3.0.8)
CalendarDefaultGuildFilter() - returns minLevel, maxLevel
CalendarEventAvailable() - Accepts the inviation to the currently open event
CalendarEventCanEdit() - Returns true if the event can be edited
CalendarEventCanModerate
CalendarEventClearAutoApprove() - Turns off automatic confirmations
CalendarEventClearLocked() - Unlocks the event
CalendarEventClearModerator()
CalendarEventDecline() - Declines the invitation to the currently open event
CalendarEventGetCalendarType()
CalendarEventGetInvite(inviteeIndex) - Returns status information for an invitee for the currently opened event
CalendarEventGetInviteResponseTime(inviteIndex)
CalendarEventGetInviteSortCriterion() - returns criterion, reverse
CalendarEventGetNumInvites() - Returns the number of invitees for the currently opened event
CalendarEventGetRepeatOptions() - Returns opt1, opt2
CalendarEventGetSelectedInvite() - returns inviteIndex
CalendarEventGetStatusOptions() - Returns ?
CalendarEventGetTextures(eventType) - Returns title1, tex1, expLvl1, title2, tex2, expLvl2, ...
CalendarEventGetTypes() - Returns name1, name2, ...
CalendarEventHasPendingInvite() - Returns true if the player has an unanswered invitation to the currently selected event
CalendarEventHaveSettingsChanged() - Returns true if the currently open event has been modified
CalendarEventInvite("Player") - Invite player to currently selected event
CalendarEventIsModerator()
CalendarEventRemoveInvite(inviteIndex)
CalendarEventSelectInvite(inviteIndex)
CalendarEventSetAutoApprove()
CalendarEventSetDate(month, day, year)
CalendarEventSetDescription(description)
CalendarEventSetLocked()
CalendarEventSetLockoutDate(lockoutDate)
CalendarEventSetLockoutTime(lockoutTime)
CalendarEventSetModerator(index)
CalendarEventSetRepeatOption(repeatoption)
CalendarEventSetSize
CalendarEventSetStatus(index, status) - Sets the invitation status of a player to the current event
CalendarEventSetTextureID(textureIndex)
CalendarEventSetTime(hour, minute)
CalendarEventSetTitle(title)
CalendarEventSetType(type)
CalendarEventSignUp()
CalendarEventSortInvites(criterion)
CalendarEventTentative()
CalendarGetAbsMonth() - returns month, year
CalendarGetDate() - Call this only after PLAYER_ENTERING_WORLD event
CalendarGetDayEvent(monthOffset, day, eventIndex)
CalendarGetDayEventSequenceInfo - Retrieve information about the specified event.
CalendarGetEventIndex() - returns monthOffset, day, index
CalendarGetEventInfo() - Returns detailed information about an event selected with CalendarOpenEvent()
CalendarGetFirstPendingInvite(monthOffset, day) - returns eventIndex
CalendarGetHolidayInfo(monthOffset, day, eventIndex) - Returns Holiday Name, Holiday Description, Calendar Icon
CalendarGetMaxCreateDate() - returns maxWeekday, maxMonth, maxDay, maxYear
CalendarGetMaxDate() - returns maxWeekday, maxMonth, maxDay, maxYear
CalendarGetMinDate() - returns minWeekday, minMonth, minDay, minYear
CalendarGetMinHistoryDate() - returns minWeekday, minMonth, minDay, minYear
CalendarGetMonth([monthOffset]) - returns month, year
CalendarGetMonthNames() - returns a list of the month names
CalendarGetNumDayEvents(monthOffset[, day])
CalendarGetNumPendingInvites() - returns count
CalendarGetRaidInfo (monthOffset, day, eventIndex) - returns name, calendarType, raidID, hour, minute, difficulty
CalendarGetWeekdayNames() - returns a list of the weekday names
CalendarIsActionPending() - returns isPending
CalendarMassInviteArenaTeam(teamType)
CalendarMassInviteGuild(minLevel, maxLevel, rank)
CalendarNewEvent() - Creates and selected a new event
CalendarNewGuildAnnouncement()
CalendarNewGuildEvent(minLevel, maxLevel, minRank) - Replaces the invite list of the selected new event with the specified guild members
CalendarOpenEvent(monthOffset, day, eventIndex) - Selects an existing event
CalendarRemoveEvent() - Removes the selected event from the calendar (invitees only)
CalendarSetAbsMonth(month, year) - Sets the reference month and year for functions which use a month offset
CalendarSetMonth(monthOffset)
CalendarUpdateEvent() - Saves the selected event (existing events only, requires hardware input to call)
OpenCalendar() - Requests calendar information from the server. Does not open the calendar frame. (added 3.0.8)

Camera[edit]

'Mouse Look' refers to holding down the right mouse button and controlling the movement direction. Shifting the view by holding down the 'left' mouse button is not covered by these APIs.

PROTECTED CameraOrSelectOrMoveStart() - Begin "Left click" in the 3D world. (protected 1.10)
PROTECTED CameraOrSelectOrMoveStop([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
CameraZoomIn(increment) - Zooms the camera into the viewplane by increment.
CameraZoomOut(increment) - Zooms the camera out of the viewplane by increment.
FlipCameraYaw(degrees) - Rotates the camera about the Z-axis by the angle amount specified in degrees.
IsMouselooking() - Returns 1 if mouselook is currently active, nil otherwise.
MouselookStart() - Enters mouse look mode; mouse movement is used to adjust movement/facing direction.
MouselookStop() - Exits mouse look mode; mouse movement is used to move the mouse cursor.
MoveViewDownStart() - Begins rotating the camera downward.
MoveViewDownStop() - Stops rotating the camera after #MoveViewDownStart() is called.
MoveViewInStart() - Begins zooming the camera in.
MoveViewInStop() - Stops zooming the camera in after #MoveViewInStart() is called.
MoveViewLeftStart() - Begins rotating the camera to the Left.
MoveViewLeftStop() - Stops rotating the camera after #MoveViewLeftStart() is called.
MoveViewOutStart() - Begins zooming the camera out.
MoveViewOutStop() - Stops zooming the camera out after #MoveViewOutStart() is called.
MoveViewRightStart() - Begins rotating the camera to the Right.
MoveViewRightStop() - Stops rotating the camera after #MoveViewRightStart() is called.
MoveViewUpStart() - Begins rotating the camera upward.
MoveViewUpStop() - Stops rotating the camera after #MoveViewUpStart() is called.
PROTECTED PitchDownStart() - Begins pitching the camera Downward.
PROTECTED PitchDownStop() - Stops pitching the camera after #PitchDownStart() is called.
PROTECTED PitchUpStart() - Begins pitching the camera Upward.
PROTECTED PitchUpStop() - Stops pitching the camera after #PitchUpStart() is called.
NextView() - Cycles forward through the five predefined camera positions.
PrevView() - Cycles backward through the five predefined camera positions.
ResetView(index) - Resets the specified (1-5) predefined camera position to its default if it was changed using #SaveView(index).
SaveView(index) - Replaces the specified (1-5) predefined camera positions with the current camera position.
SetView(index) - Sets camera position to a specified (1-5) predefined camera position.

Channel[edit]

These are chat functions which are specific to channels. Also see the #Chat Window and #Communication sections.

AddChatWindowChannel(chatFrameIndex, "channel") - Make a chat channel visible in a specific ChatFrame.
ChannelBan("channel", "name") - Bans a player from the specified channel.
ChannelInvite("channel", "name") - Invites the specified user to the channel.
ChannelKick("channel", "name") - Kicks the specified user from the channel.
ChannelModerator("channel", "name") - Sets the specified player as the channel moderator.
ChannelMute("channel", "name") - Turns off the specified player's ability to speak in a channel.
ChannelToggleAnnouncements("channel") - Toggles the channel to display announcements either on or off.
ChannelUnban("channel", "name") - Unbans a player from a channel.
ChannelUnmoderator("channel", "name") - Takes the specified user away from the moderator status.
ChannelUnmute("channel", "name") - Unmutes the specified user from the channel.
DisplayChannelOwner("channel") - Displays the owner of the specified channel in the default chat.
DeclineInvite("channel") - Declines an invitation to join a chat channel.
EnumerateServerChannels() - Retrieves all available server channels (zone dependent).
GetChannelList() - Retrieves joined channels.
GetChannelName("channel" or index) - Retrieves the name from a specific channel.
GetChatWindowChannels(index) - Get the chat channels received by a chat window.
JoinChannelByName("channel"[, "password"[, frameId]]) - Join the specified chat channel, with optional password, and register for specified frame. (updated 1.9)
LeaveChannelByName("channel") - Leaves the channel with the specified name.
ListChannelByName(channelMatch) - Lists members in the given channel to the chat window.
ListChannels() - Lists all of the channels into the chat window.
RemoveChatWindowChannel(chatFrameIndex, "channel") - Make a chat channel invisible (hidden) in a specific ChatFrame.
SendChatMessage("msg",[ "chatType",[ "language",[ "channel"]]]) - Sends a chat message.
SetChannelOwner("channel", "name") - Sets the channel owner.
SetChannelPassword("channel", "password") - Changes the password of the current channel.

Character[edit]

AcceptResurrect() - The player accepts the request from another player to resurrect him/herself.
AcceptXPLoss() - Accept the durability loss to be reborn by a spirit healer. The name is a remnant from when spirit res was an XP loss instead.
CheckBinderDist() - Check whether the player is close enough to interact with the Hearthstone binder.
ConfirmBinder() - Confirm the request to set the binding of the player's Hearthstone.
DeclineResurrect() - Decline the request from another player to resurrect him/herself.
DestroyTotem(slot)
GetBindLocation() - Get the name of the location for your Hearthstone.
GetComboPoints() - Get the current number of combo points.
GetCorpseRecoveryDelay() - Time left before a player can accept a resurrection
GetCurrentTitle() - Returns the player's current titleId.
GetMirrorTimerInfo(id) - returns information about a mirror timer (exhaustion, breath and feign death timers)
GetMirrorTimerProgress(id) - returns the current value of a mirror timer (exhaustion, breath and feign death timers)
GetMoney() - Returns an integer value of your held money in copper.
GetNumTitles() - Returns the maximum titleId
GetPlayerFacing() - Returns the direction the player is facing in radians ([-R, R] range, 0 is north, R/2 is east). (added 3.1)
GetPVPDesired() - Returns whether the player has permanently turned on their PvP flag.
GetReleaseTimeRemaining() - Returns the amount of time left before your ghost is pulled from your body.
GetResSicknessDuration()
GetRestState() - Returns information about a player's rest state (saved up experience bonus)
GetRuneCooldown(id) - Returns cooldown information about a given rune.
GetRuneCount(slot)
GetRuneType(id) - Returns the type of rune with the given id.
GetTimeToWellRested() - Defunct.
GetTitleName(titleId) - Returns the player's current title name
GetUnitPitch(UnitID) - Returns the true pitch radians ([-R, R] 0 is level). UnitID restricted to "player".
GetXPExhaustion() - Returns your character's current rested XP, nil if character is not rested.
HasFullControl()
HasSoulstone()
IsFalling() - Returns 1 if your character is currently plummeting to their doom.
IsFlying() - Returns 1 if flying, otherwise nil.
IsFlyableArea() - Returns 1 if it is possible to fly here, nil otherwise.
IsIndoors() - Returns 1 if you are indoors, otherwise nil. Returns nil for indoor areas where you can still mount.
IsMounted() - Returns 1 if mounted, otherwise nil
IsOutdoors() - Returns 1 if you are outdoors, otherwise nil. Returns 1 for indoor areas where you can still mount.
IsOutOfBounds() - Returns 1 if you fell off the map.
IsResting() - Returns 1 if your character is currently resting.
IsStealthed() - Returns 1 if stealthed or shadowmeld, otherwise nil
IsSwimming() - Returns 1 if your character is currently swimming.
IsTitleKnown(index) - Returns 1 if the title is valid for the player, otherwise 0.
IsXPUserDisabled() - Returns 1 if the character has disabled experience gain.
NotWhileDeadError() - Generates an error message saying you cannot do that while dead.
ResurrectHasSickness() - Appears to be used when accepting a resurrection will give you resurrection sickessness.
ResurrectHasTimer() - Does the player have to wait before accepting a resurrection
ResurrectGetOfferer() - Returns the name of the person offering to resurrect you.
RetrieveCorpse() - Resurrects when near corpse. e.g., The "Accept" button one sees after running back to your body.
HW SetCurrentTitle(titleId) - Sets the player's current title id
TargetTotem() - (added 3.0.8)

Character Statistics[edit]

GetArmorPenetration() - Returns percent of armor ignored by your physical attacks.
GetAttackPowerForStat(stat, value) - Returns the amount of attack power contributed by a specified amount of a particular stat.
GetAverageItemLevel() - Returns the player's current iLevel.
GetBlockChance() - Returns the player's percentage block chance.
GetCombatRating(ratingID) - Returns the player's combat rating for a particular combat rating. (added 2.0)
GetCombatRatingBonus(ratingID) - Returns the player's combat rating bonus for a particular combat rating. (added 2.0)
GetCritChance() - Returns the player's melee critical hit chance
GetCritChanceFromAgility("unit") - Returns the amount of your critical hit chance contributed by Agility.
GetDodgeChance() - Returns the player's percentage dodge chance.
GetExpertise() - Returns main hand and offhand expertise value.
GetExpertisePercent() - Returns reduction in dodge and parry chances for main hand and offhand attacks, in percent.
GetLifesteal() - Returns the player's Leech.
GetManaRegen() - Returns the player's mana regeneration rates.
GetMastery() - Returns the sum of player's base and rating bonus mastery.
GetMasteryEffect() - Returns the effect of player's current Mastery.
GetMaxCombatRatingBonus(lowestRating)
GetParryChance() - Returns the player's percentage parry chance.
GetPetSpellBonusDamage
GetPowerRegen() - Returns normal and combat power regeneration rates
GetSpellBonusDamage(spellTreeID) - Returns the raw spell damage of the player for a given spell tree.
GetRangedCritChance() - Returns the players ranged critical strike chance.
GetSpellBonusHealing() - Returns the raw bonus healing of the player.
GetSpellCritChance(school) - returns the players critical hit chance with a particular spell school.
GetShieldBlock()
GetSpellCritChanceFromIntellect("unit")
GetSpellPenetration()

Chat Window[edit]

These are functions which are specific to chat 'window' management. See also the #Channel and #Communication sections. See Mikk's spiel on chat windows, which may be out of date.

AddChatWindowChannel(chatFrameIndex, "channel") - Make a chat channel visible in a specific ChatFrame.
AddChatWindowMessages - Adds a messaging group to the specified chat window.
ChangeChatColor(channelname,r,g,b) - Update the color for a type of chat message.
UI ChatFrame'"`UNIQ--nowiki-00000000-QINU`"'AddChannel(chatFrame, "channelName") - Activate channel in chatFrame.
UI ChatFrame'"`UNIQ--nowiki-00000001-QINU`"'AddMessageEventFilter("event", filterFunc) - Add a chat message filtering function (added 2.4)
UI ChatFrame'"`UNIQ--nowiki-00000002-QINU`"'GetMessageEventFilters("event") - Retreive the list of chat message filtering functions. (added 2.4)
UI ChatFrame'"`UNIQ--nowiki-00000003-QINU`"'OnHyperlinkShow(reference, link, button) - called when the user clicks on a chatlink.
UI ChatFrame'"`UNIQ--nowiki-00000004-QINU`"'RemoveMessageEventFilter("event", filterFunc) - Unregister a chat message filtering function (added 2.4)
GetAutoCompleteResults("text", include, exclude, maxResults[, cursorPosition]) - Returns possible player names matching a given prefix string and specified requirements.
GetChatTypeIndex(type) - Get the numeric ID of a type of chat message.
GetChatWindowChannels(index) - Get the chat channels received by a chat window.
GetChatWindowInfo(index) - Get setup information about a chat window.
GetChatWindowMessages(index) - Get the chat message types received by a chat window.
JoinChannelByName("channel"[, "password"[, frameId]]) - Join the specified chat channel, with optional password, and register for specified frame. (updated 1.9)
LoggingChat(newState) - Gets or sets whether logging chat to Logs\WoWChatLog.txt is enabled.
LoggingCombat(newState) - Gets or sets whether logging combat to Logs\WoWCombatLog.txt is enabled.
RemoveChatWindowChannel(chatFrameIndex, "channel") - Make a chat channel invisible (hidden) in a specific ChatFrame.
RemoveChatWindowMessages(chatFrameIndex,"messageGroup") - Remove a set of chat messages from this window.

These functions get applied after reload ui (index 1 is General and index 2 is Combat Log):

SetChatWindowAlpha(index,alpha) - Sets the Alpha value(transparency) of ChatFrame<index> (alpha - 0-100)
SetChatWindowColor(index,r,g,b) - Sets the background color of a a chat window. (r/g/b - 0-255)
SetChatWindowDocked(index,docked) - Set whether a chat window is docked. (docked - 0/1)
SetChatWindowLocked(index,locked) - Sets ChatFrame<index> so that it is or is not movable. (locked - 0/1)
SetChatWindowName(index,"name") - Sets the name of ChatFrame<index> to <"name">.
SetChatWindowShown(index,shown) - Shows or Hides ChatFrame<index> depending on value of <shown> (shown - 0/1)
SetChatWindowSize(index,size) - Sets the font size of a chat window. (size - default 14)
SetChatWindowUninteractable(id, isUninteractable) - (added 3.0.8)

Communication[edit]

These are functions communicate with other players. Also see the #Channel and #Chat Window sections.

DoEmote("emote",["target"]) - Perform a voice emote.
GetDefaultLanguage("unit") - Returns the default language that the unit is speaking after logon.
GetLanguageByIndex(index) - Returns the language specified by the index.
GetNumLanguages() - Returns the number of languages your character can speak. (renamed from 'GetNumLaguages' 2.4)
GetRegisteredAddonMessagePrefixes(table) - Returns a table, or you can pass in a table, that will be filled in with all prefixes that were registered. (added 4.1)
IsAddonMessagePrefixRegistered(prefix) - Returns a Boolean if the prefix has been registered. (added 4.1)
RandomRoll(low, high) - Does a random roll between the two values.
RegisterAddonMessagePrefix(prefix) - Register the addon prefix to enable the CHAT_MSG_ADDON event. Returns a boolean if successful could fail if it hits the client side limit of 512 prefixes. (added 4.1)
SendAddonMessage("prefix", "text", "type" [, "player"]) - Sends a message to hidden AddOn channels. (added 1.12)
SendChatMessage("msg",[ "chatType",[ "language",[ "channel"]]]) - Sends a chat message.

Companion[edit]

These functions relate to companions, mounts and non-combat pets. All functions were introduced in 3.0.

CallCompanion("type", slotid) - Summons a companion.
DismissCompanion("type") - Dismisses an active companion.
GetCompanionInfo("type", slotid) - Returns info about a selected companion.
GetNumCompanions("type") - Get the number of companions of the specified type.
GetCompanionCooldown("type", index) - Returns cooldown information.
PickupCompanion("type", index) - Picks up the indexed companion onto the mouse cursor.
SummonRandomCritter() - Summons a random critter companion. (added 3.3.3)

Container / Bag[edit]

These functions manage containers, bags, backpacks. See also #Inventory and #Bank sections.

ContainerIDToInventoryID(bagID)
GetBagName(bagID) - Get the name of one of the player's bags.
GetContainerItemCooldown(bagID, slot)
GetContainerItemDurability(bag, slot) - Get current and maximum durability of an item in the character's bags.
GetContainerItemGems(bag, slot) - Returns item IDs of gems inserted into the item in a specified container slot.
GetContainerItemID(bag, slot) - Returns the item ID of the item in a particular container slot.
GetContainerItemInfo(bagID, slot) - Get the info for an item in one of the player's bags.
GetContainerItemLink(bagID, slot) - Returns the itemLink of the item located in bag#, slot#.
GetContainerNumSlots(bagID) - Returns the total number of slots in the bag specified by the index.
GetContainerItemQuestInfo(bag, slot) - Returns information about quest and quest-starting items in your bags. (added 3.3.3)
GetContainerNumFreeSlots(bagID) - Returns the number of free slots and type of slots in the bag specified by the index. (added 2.4)
HasKey() - Returns 1 if the player has a keyring, nil otherwise.
UI OpenAllBags() - Open all bags
UI CloseAllBags() - Close all bags
PickupBagFromSlot(slot) - Picks up the bag from the specified slot, placing it in the cursor.
PickupContainerItem(bagID,slot)
PutItemInBackpack() - attempts to place item in backpack (bag slot 0).
PutItemInBag(inventoryId) - attempts to place item in a specific bag.
UI PutKeyInKeyRing() - attempts to place item in your keyring.
SplitContainerItem(bagID,slot,amount)
UI ToggleBackpack() - Toggles your backpack open/closed.
UI ToggleBag(bagID) - Opens or closes the specified bag.
PROTECTED UseContainerItem(bagID, slot[, onSelf]) - Uses an item located in bag# and slot#. Warning: If a vendor window is open, using items in your pack may sell them - 'onSelf'! Protected situationally? (added 1.12)

Currency[edit]

Most of these functions were added in 3.0.2.

GetCoinText(amount, "separator") - Breaks down money and inserts separator strings. (added 2.4.2)
GetCoinTextureString(amount[, fontHeight]) - Breaks down money and inserts texture strings.
GetCurrencyInfo(index) - returns localized_label, amount, icon_file_name of the currency at the index. (added 4.0.1)
GetCurrencyListSize() - returns the number of elements (both headers and currencies) in the currency list.
GetCurrencyListInfo(index) - return information about an element in the currency list.
ExpandCurrencyList(index, state) - sets the expanded/collapsed state of a currency list header.
UI MoneyInputFrame_GetCopper(frame) - Returns the amount of money entered in a MoneyInputFrame in copper pieces
SetCurrencyUnused(id, state) - alters whether a currency is marked as unused.
GetNumWatchedTokens() - returns the number of currently watched.
GetBackpackCurrencyInfo(id) - returns information about a watched currency.
SetCurrencyBackpack(id, state) - alters whether a currency is tracked.

Cursor[edit]

AutoEquipCursorItem() - Causes the equipment on the cursor to be equipped.
ClearCursor() - Clears whatever item the cursor is dragging from the cursor. (added 1.12)
CursorCanGoInSlot(invSlot) - Return true if the item currently held by the cursor can go into the given inventory (equipment) slot.
CursorHasItem() - Returns true if the cursor currently holds an item.
CursorHasMoney() - true/false
CursorHasSpell() - true/false
DeleteCursorItem() - Destroys the item on the cursor.
DropCursorMoney() - Drops the amount of money held by the cursor.
DropItemOnUnit("unit") - Drops an item from the cursor onto a unit.
EquipCursorItem(invSlot)
GetCursorInfo() - Returns information about what the cursor is holding.
GetCursorMoney() - Returns the amount of money held by the cursor.
GetCursorPosition() - Returns the cursor's position on the screen.
HideRepairCursor()
InRepairMode() - Returns true if your cursor is in repair mode
NOCOMBAT PickupAction(slot) - Drags an action out of the specified quickbar slot and holds it on the cursor.
PickupBagFromSlot(slot) - Picks up the bag from the specified slot, placing it in the cursor. If an item is already picked up, this places the item into the specified slot, swapping the items if needed.
PickupContainerItem(bagID,slot)
PickupInventoryItem(invSlot) - "Picks up" an item from the player's worn inventory.
NOCOMBAT PickupItem(itemId or "itemString" or "itemName" or "itemLink")
PickupMacro("macroName" or index) - Adds the specified macro to the Cursor.
PickupMerchantItem(index) - Places the item on the cursor. If the cursor already has an item, the item in the cursor will be sold.
NOCOMBAT PickupPetAction(slot) - Drags an action from the specified pet action bar slot into the cursor.
PickupPlayerMoney - Picks up an amount of money from the player.
NOCOMBAT PickupSpell("spellName" | spellID, "bookType") - Adds the specified spell to the Cursor.
PickupStablePet(index)
PickupTradeMoney(amount)
PlaceAction(slot) - Drops an action from the cursor into the specified quickbar slot.
PutItemInBackpack() - attempts to place item in backpack (bag slot 0).
PutItemInBag(inventoryId) - attempts to place item in a specific bag.
ResetCursor()
SetCursor("cursor" or nil)
ShowContainerSellCursor(index,slot)
ShowInspectCursor() - Change the cursor to the magnifying glass inventory inspection cursor
ShowInventorySellCursor()
ShowMerchantSellCursor(index) - Changes the cursor to the merchant sell cursor.
ShowRepairCursor()
SplitContainerItem(bagID,slot,amount) - Picks up part of a stack.

Debugging[edit]

ConsoleAddMessage(message) - (added 3.0.8)
debugprofilestart() - starts a timer for profiling during debugging.
debugprofilestop() - return the time in milliseconds since the last call to debugprofilestart()
debugstack(start, count1, count2) - Returns a string representation of the current calling stack (added 1.9)
FrameXML_Debug(flag) - Sets FrameXML logging state which is output to /WoW Folder/Logs/FrameXML.log
GetDebugStats()
UI getprinthandler() - Returns the function currently handling print() output.
UI print(...) - Calls the current print output handler with the provided values, by default printing the values to the default chat frame.
UI setprinthandler(func) - Changes the function handling print() output.
UI tostringall(...) - Converts and returns the passed arguments to string.
wipe(table) - removes all key/value pairs from a table. also available as table.wipe().

Dressing Room[edit]

Functions controlling the 'dressing room' interface. (added 1700)

UI DressUpItemLink("itemString" or "itemLink") - Will show the DressingRoom UI with the given item equipped.
UI SetDressUpBackground(isAuctionFrame) - Given an Item shown in the Auction House will show the DressingRoom UI with the item equipped.

Dungeon Finder[edit]

Functions supporting the Dungeon Finder UI, added in 3.3. See also the #Raid Browser and #Looking for Group sections.

HW AcceptProposal() - Accept an LFD group invite and enter the dungeon.
CanPartyLFGBackfill() - Returns whether the party is eligible to recruit additional members from the LFG pool.
GetLFDChoiceCollapseState(nil or table) - returns LFGCollapseList
GetLFDChoiceEnabledState(nil or table) - returns LFGEnabledList
GetLFDChoiceInfo(nil or table) - Returns a table of all dungeon info keyed by dungeonID
GetLFDChoiceLockedState(nil or table) - Returns a table mapping dungeonID to isLocked (in LFD UI)
GetLFDChoiceOrder(nil or table) - returns LFDDungeonList
GetLFDLockPlayerCount() - returns the number of locks in a dungeon group
GetLFDLockInfo(dungeonID, lockedPlayerNumber) - returns playerName, lockedReason; lockedPlayerNumber is from 1 to #GetLFDLockPlayerCount(); lockedReason is found in LFG_INSTANCE_INVALID_CODES
GetLFGDungeonInfo(dungeonId) - Returns information about a particular dungeon in the list: dungeonName, typeID, minLevel, maxLevel, recLevel, minRecLevel, maxRecLevel, expansionLevel, groupID, textureFilename, difficulty, maxPlayers, dungeonDescription, isHoliday
GetLFGDungeonRewards(dungeontype) - dungeontype = 261 (normal) or 262 (heroic), returns doneToday, moneyBase, moneyVar, experienceBase, experienceVar, numRewards
GetLFGDungeonRewardInfo(dungeonID, rewardIndex) - returns name, texturePath, quantity. rewardIndex matches 1 through numRewards from #GetLFGDungeonRewards
GetLFGInfoServer - returns inParty, joined, queued, noPartialClear, achievements, lfgComment, slotCount
GetLFGProposal() - Returns information about a LFD group invite.
GetLFGProposalEncounter(encounterNumber) - returns bossName, texture, isKilled. encounterNumber is from 1 to totalEncounters from #GetLFGProposal()
GetLFGProposalMember(playerNumber) - returns info about players (numbers 1-5) in the LFG proposal: isLeader, role, level, responded, accepted, name, class
GetLFGRandomDungeonInfo(index) - Returns information about a random dungeon queue: id, name
GetNumRandomDungeons() - returns the number of specific dungeons that can be queued for
GetPartyLFGBackfillInfo() - Returns information about the dungeon for which you may currently recruit additional members from the LFG pool.
GetRandomDungeonBestChoice() - Returns suggested random dungeon ID.
HasLFGRestrictions() - Returns whether the player is in a random party formed by the dungeon finder system.
IsLFGDungeonJoinable(dungeonId) - Returns whether you can queue for a particular dungeon; dungeonId is from #GetLFGRandomDungeonInfo
LFGTeleport([toSafety]) - Teleports the player to (toSafety = nil) or from (toSafety = true) a dungeon
RejectProposal() - Reject an LFD group invite and exit the queue.
SetLFGHeaderCollapsed(headerID, isCollapsed)
UnitGroupRolesAssigned(UnitID) - Return's the targeted unit's assigned role.

Enchanting[edit]

GetWeaponEnchantInfo() - Return information about main and offhand weapon enchantments.
ReplaceEnchant()
ReplaceTradeEnchant() - Confirm the replacement of an enchantment via trade.
BindEnchant() - Confirm the binding of the item when enchanting.

Equipment[edit]

Equipment management was added in 3.1.2.

NOCOMBAT C_EquipmentSet.UseEquipmentSet(equipmentSetID) : setWasEquipped - Equips items from a specified equipment set.
DeleteEquipmentSet("name") - Forgets an equipment set.
UI GetEquipmentSetIconInfo(index) - Returns information about available icons.
GetEquipmentSetInfo(index) - Returns information about an equipment set.
GetEquipmentSetInfoByName("name") - Returns information about an equipment set.
GetEquipmentSetItemIDs("name"[, returnTable]) - Populates and returns a table with the item IDs.
GetEquipmentSetLocations("name"[, returnTable]) - Populates and returns a table with the item locations.
GetNumEquipmentSets() - Returns the number of saved equipment sets.
EquipmentManagerClearIgnoredSlotsForSave() - removes the ignore flag from all slots when saving an equipment set.
EquipmentManagerIgnoreSlotForSave(slot) - flags the slot to be ignored when saving an equipment set.
EquipmentManagerUnignoreSlotForSave(slot) - removes the ignore flag from a slot when saving an equipment set.
UI EquipmentManager'"`UNIQ--nowiki-00000005-QINU`"'UnpackLocation(location) - Unpacks a location integer to determine the actual inventory location.
EquipmentSetContainsLockedItems("name") - Checks if some of the items in the set are currently locked (pending client/server interaction).
PickupEquipmentSet(index) - Places an equipment set on the cursor.
PickupEquipmentSetByName("name") - Places an equipment set on the cursor.
RenameEquipmentSet("oldName", "newName") - Renames an equipment set.
SaveEquipmentSet("name", iconIndex) - Saves the currently equipped items in a set.
REMOVED UseEquipmentSet("name") - Equips an equipment set.

Faction[edit]

CollapseFactionHeader(index) - Collapse a faction header row.
CollapseAllFactionHeaders() - Collapse all faction header rows.
ExpandFactionHeader(index) - Expand a faction header row.
ExpandAllFactionHeaders() - Expand all faction header rows.
FactionToggleAtWar(index) - Toggle the At War flag for a faction.
GetFactionInfo(index) - Gets details for a specific faction/faction header.
GetNumFactions() - Returns the number of lines in the faction display.
GetSelectedFaction() - Returns the row index of the currently selected faction in reputation window. (added 1.10)
GetWatchedFactionInfo() - Returns information about the currently watched faction. (added 1.10)
IsFactionInactive(index) - Returns true if the faction is marked inactive. (added 1.10)
SetFactionActive(index) - Remove a faction from inactive group. (added 1.10)
SetFactionInactive(index) - Move a faction to inactive group. (added 1.10)
SetSelectedFaction(index) - Sets the currently selected faction in reputation window. (added 1.10)
SetWatchedFactionIndex(index) - Sets which faction should be watched in Blizzard reputation bar. (added 1.10)
UnitFactionGroup("unit") - Returns the faction group id and name of the specified unit, eg. "Alliance". The string returned is localization-independent, and is used in filepath.

Frame[edit]

CreateFrame("frameType"[ ,"name"][, parent][, "inheritFrame"]) - Create a new frame of the specified type
CreateFont("name") - Dynamically create a font object
GetFramesRegisteredForEvent(event) - Returns a list of frames that are registered for the given event. (added 2.3)
GetNumFrames() - Get the current number of Frame (and derivative) objects
UI EasyMenu(menuList, menuFrame, anchor, x, y, displayMode, autoHideDelay)
EnumerateFrames(currentFrame) - Get the Frame which follows currentFrame
GetMouseFocus() - Returns the frame that currently has the mouse focus.
UI MouseIsOver - Determines whether or not the mouse is over the specified frame.
UI ToggleDropDownMenu(level, value, dropDownFrame, anchorName, xOffset, yOffset)
UI UIFrameFadeIn(frame, fadeTime, startAlpha, endAlpha)
UI UIFrameFlash(...)

Friend[edit]

AddFriend("playerName") - Add a friend to your friend list.
AddOrRemoveFriend("playerName"[, "note"]) - Toggles a player's presence on your friends list.
GetFriendInfo(index) - Returns name, level, class, location, connected, status, and friend note of a friend.
SetFriendNotes(index, "note") - Sets the note text for a friend.
GetNumFriends() - Returns how many friends are on your friend list.
GetSelectedFriend() - Returns the index of the current selected friend.
RemoveFriend("name" or index) - Removes a friend from your friend list
SetSelectedFriend(index) - Update the current selected friend.
ShowFriends() - Request updated friends information from server.
UI ToggleFriendsFrame([tabNumber]) - Opens/closes the friends pane (possibly on a specific tab).

Glyph[edit]

GetNumGlyphSockets() - Returns the number of Glyph Sockets available at max level. Same result as NUM_GLYPH_SLOTS.
GetGlyphSocketInfo(socketID[, talentGroup]) - Returns info on a specific Glyph Socket.
GetGlyphLink(socketID[, talentGroup]) - Returns link text for a Glyph in the desired Socket.
GlyphMatchesSocket(socketID) - See if the Glyph held by the cursor matches the desired Socket.
PlaceGlyphInSocket(socketID) - Places the Glyph held by the cursor into the desired Socket.
RemoveGlyphFromSocket(socketID) - Removes the Glyph from the desired Socket.
SpellCanTargetGlyph()

GM[edit]

CanComplainChat(lineID) - determines if should show the menu for reporting a line of chat spam/ 'lineID' comes from the player link in the chat line.
CanComplainInboxItem(index) - determines if we should show the 'report spam' button on a mail item
ComplainChat(lineID) - complains about a particular line of chat spam
ComplainInboxItem(index) - complains about a particular mail item
PROTECTED DeleteGMTicket()
GMRequestPlayerInfo() - access denied (darn)
GetGMStatus()
GetGMTicket()
GetGMTicketCategories() - Return all available ticket categories (not as a table)
GMSurveyAnswerSubmit(question, rank, comment)
GMSurveyCommentSubmit(comment)
GMSurveyQuestion
GMSurveySubmit
HelpReportLag(type) - Uses the Report Lag function on the help screen to report the specified type of lag
PROTECTED NewGMTicket(type,"text")
PROTECTED UI Stuck() - Informs the game engine that the player is Stuck.
PROTECTED UpdateGMTicket(type,"text")

Gossip[edit]

CloseGossip() - Dismiss the gossip window.
ForceGossip() - Returns whether the gossip text must be displayed. (added 3.3.3)
GetGossipActiveQuests() - Retrieves a list of the active (?) quests on the NPC you are talking to.
GetGossipAvailableQuests() - Retrieves a list of the available (!) quests on the NPC you are talking to.
GetGossipOptions() - Retrieves a list of the available gossip items on the NPC you are talking to.
GetGossipText() - Retrieves the gossip text.
GetNumGossipActiveQuests() - Returns the number of active quests that you should eventually turn in to this NPC.
GetNumGossipAvailableQuests() - Returns the number of quests (that you are not already on) offered by this NPC.
GetNumGossipOptions() - Returns the number of conversation options available with this NPC.
SelectGossipActiveQuest(index) - Selects an active quest.
SelectGossipAvailableQuest(index) - Selects an available quest.
SelectGossipOption(index) - Selects on a gossip item.

Group[edit]

See also the #Raid section.

AcceptGroup() - Accept the invitation to party.
ConfirmReadyCheck(isReady) - Indicate if you are ready or not.
ConvertToRaid() - Converts party to raid.
DeclineGroup() - Decline the invitation to a party.
DoReadyCheck() - Initiate a ready check.
GetLootMethod() - Return the currently active lootMethod
GetLootThreshold() - Return the current loot threshold (for group/master loot)
GetMasterLootCandidate(index) - Return the name of a player who is eligible to receive loot in master mode
GetNumGroupMembers([partyCategoryType]) - Returns the number of players in your group, including yourself [0-40]. (added 5.0.4)
REMOVED GetNumPartyMembers() - Returns the number of players in your party, excluding yourself [0-4]. (removed 5.0.4)
REMOVED GetNumRaidMembers() - Returns the number of players in your battleground raid group [0-40]. (removed 5.0.4)
GetNumSubgroupMembers([partyCategoryType]) - Returns number of players in your subgroup, excluding yourself [0-4]. (added 5.0.4)
REMOVED GetRealNumPartyMembers() - Returns the number of other players in your home non-battleground party. (removed 5.0.4)
REMOVED GetRealNumRaidMembers() - Returns the number of players in your non-battleground raid group. (removed 5.0.4)
GetPartyLeaderIndex() - Returns the index of the party leader [1-4] if not yourself.
GetPartyMember(index) - Returns 1 if the party member at the given index exists, nil otherwise..
InviteUnit("name" or "unit") - Invites the specified player to the group you are currently in (added 2.0.0)
IsInGroup() - Determines if player is in any kind of group. (added 5.0.4)
IsInRaid() - Determines if player is in raid type group. (added 5.0.4)
UnitIsGroupAssistant("unit"[, partyCategoryType]) - Returns true if the unit is an assistant in your group. (added 5.0.4)
REMOVED IsRaidOfficer() - Returns a value based on whether the player is a raid officer, assistant(?). (removed 5.0.4)
REMOVED UnitIsRaidOfficer("unit") - Returns whether the specified unit is an officer in your raid. (removed 5.0.4)
UnitIsGroupLeader("unit"[, partyCategoryType]) - Returns true if the unit is the leader of its group. (added 5.0.4)
REMOVED IsRaidLeader() - Returns a value based on whether the player is a raid leader. (removed 5.0.4)
REMOVED IsPartyLeader() - Returns true if the player is the party leader. (removed 5.0.4)
REMOVED UnitIsPartyLeader("unit") - Returns true if the unit is the leader of its party. (removed 5.0.4)
LeaveParty() - Quit the party, often useful to troubleshoot "phantom party" bugs which may list you in a party when you are not.
PromoteToLeader("unit") - Promote a unit to party leader.
SetLootMethod("lootMethod"[, "masterPlayer" or threshold]) - Set the current loot method
SetLootThreshold(itemQuality) - Set the threshold for group/master loot
HW UninviteUnit("name" [, "reason"]) - Kick a unit from the party if player is group leader, or initiate a kick vote in an LFD group.
UnitInParty("unit") - Returns true if the unit is a member of your party.

Guild[edit]

AcceptGuild() - The player accepts the invitation to join a guild.
BuyGuildCharter("guildName") - Purchases a guild charter for 'guildName'.
CanEditGuildEvent() - Returns true if you are allowed to edit guild events (in the calendar).
CanEditGuildInfo() - Returns true if you are allowed to edit the guild info
CanEditMOTD() - Returns true if you are allowed to edit the guild motd.
CanEditOfficerNote() - Returns true if you are allowed to edit a guild member's officer note.
CanEditPublicNote() - Returns true if you are allowed to edit a guild member's public note.
CanGuildDemote() - Returns true if you are allowed to demote a guild member.
CanGuildInvite() - Returns true if you are allowed to invite a new member to the guild.
CanGuildPromote() - Returns true if you are allowed to promote a guild member.
CanGuildRemove() - Returns true if you are allowed to remove a guild member.
CanViewOfficerNote() - Returns true if you are allowed to view a Officer Note.
CloseGuildRegistrar()
CloseGuildRoster()
CloseTabardCreation()
DeclineGuild() - The player declines the invitation to join a guild.
GetGuildCharterCost() - Returns the cost of purchasing a guild charter.
GetGuildEventInfo(index) - Returns the event information. (added 2.3)
GetGuildInfo("unit") - This function returns the name of the guild unit belongs to.
GetGuildInfoText() - Returns the persistant Guild Information data. (added 1.9)
GetGuildRosterInfo(index) - This function is used to get info on members in the guild.
GetGuildRosterLastOnline(index) - Returns time since last online for indexth member in current sort order.
GetGuildRosterMOTD() - Returns guild's MOTD.
GetGuildRosterSelection() - Returns the index of the current selected guild member.
GetGuildRosterShowOffline() - Returns true if showing offline members of the guild.
GetNumGuildEvents() - Returns the number of guild events. (added 2.3)
GetNumGuildMembers() - Returns the total and online number of guild members.
GetTabardCreationCost() - Returns cost in coppers.
GetTabardInfo()
GuildControlAddRank("name") - Add another rank called "name". Only Guildmaster.
GuildControlDelRank("name") - Delete rank "name". Only Guildmaster.
GuildControlGetNumRanks() - Returns number of ranks after guild frame open. Any guild member can use this.
GuildControlGetRankFlags() - Returns list of values for each permission for a select rank (default rank 1).
GuildControlGetRankName(index) - Returns name of the rank at index. Any guild member can use this.
GuildControlSaveRank("name") - Saves the permissions for rank "name". Only Guildmaster.
GuildControlSetRank(rank) - Sets the currently selected rank to view.
GuildControlSetRankFlag(index, enabled) - Enable/disable permission for an action at index. Only Guildmaster.
GuildDemote("name") - Demotes a player "name".
GuildDisband() - Disbands at once your guild. You must be the guild's leader to do so. Be careful, no warning is given prior disbanding.
GuildInfo() - Displays information about the guild you are a member of.
GuildInvite("name") - Invites a player to your guild.
GuildLeave() - Removes you from your current guild.
GuildPromote("name") - Promotes a player "name".
GuildRoster() - Fetches the guild list and fires a GUILD_ROSTER_UPDATE event.
GuildRosterSetOfficerNote(index, "note") - Sets the officer note at index to "note".
GuildRosterSetPublicNote(index, "note") - Sets the public note at index to "note".
GuildSetMOTD("note") - Set Guild Message of the Day to "note".
GuildSetLeader("name") - Transfers guild leadership to another character.
GuildUninvite("name") - Removes the member "name".
IsGuildLeader("name") - Determine if player "name" is a guild master.
IsInGuild() - Lets you know whether you are in a guild.
QueryGuildEventLog() - Fetches the guild event list and fires a GUILD_EVENT_LOG_UPDATE event. (added 2.3)
SetGuildInfoText() - Sets the persistant Guild Information data. Limit is 500 letters (GuildInfoEditBox is limited to this number). Longer texts are possible, but will be reseted during the day. (added 1.9)
SetGuildRosterSelection(index) - Selects/deselects a guild member according current sorting order.
SetGuildRosterShowOffline(enabled) - Sets/Resets the show offline members flag.
SortGuildRoster("sort") - Sorts guildroster according "sort". Any unknown values sort on "name".
UnitGetGuildXP("unit") - Returns information about guild experience for the guild unit belongs to.

Guild Bank[edit]

All functions were added in 2.3.

AutoStoreGuildBankItem(tab, slot) - Withdraws an item from the bank, and automatically stores it in the player's inventory.
BuyGuildBankTab() - Buys a guild bank tab, without confirmation.
CanGuildBankRepair() - Returns 1 if the player is allowed to pay for repairs with guild bank funds
CanWithdrawGuildBankMoney() - Returns 1 if the player is allowed to withdraw funds from the guild bank (does not require proximity to the guild bank)
CloseGuildBankFrame() - Closes the guild bank frame
DepositGuildBankMoney(money) - Deposits "money" amount in copper.
GetCurrentGuildBankTab() - Integer of selected tab, >= 1
GetGuildBankItemInfo(tab, slot) - Returns texture, amount and integer 1 or nil depending on locked state
GetGuildBankItemLink(tab, slot) - Returns itemLink
GetGuildBankMoney() - Integer, funds available in copper.
GetGuildBankMoneyTransaction(index) - No bank proximity required, however QueryGuildBankLog function requires proximity.
GetGuildBankTabCost() - Integer OR nil - cost in copper OR no tabs available to buy
GetGuildBankTabInfo(tab) - Returns the name and icon of the guild bank tab queried.
GetGuildBankTabPermissions(tab) - Gets display / player's access info. Limited data available without bank proximity.
GetGuildBankText(tab) - Returns text associated with the given guild bank tab
GetGuildBankTransaction(tab, index) - Requires Guild Bank Proximity
GetGuildBankWithdrawGoldLimit() - Returns withdraw limit for currently selected rank in guild control (renamed from 'GetGuildBankWithdrawLimit' 4.0)
REMOVED 5.1.0 RENAMED 4.0 GetGuildBankWithdrawLimit() - Returns withdraw limit for currently selected rank in guild control. (renamed 'GetGuildBankWithdrawGoldLimit' 4.0)(removed 5.1.0)
GetGuildTabardFileNames()
GetNumGuildBankMoneyTransactions() - Returns number of money log entries
GetNumGuildBankTabs() - Integer count of bought tabs, >= 0. No bank proximity required.
GetNumGuildBankTransactions(tab) - Returns number of log transactions for tab "tab"
PickupGuildBankItem(tab, slot) - Picks up an item from the guild bank
PickupGuildBankMoney(money) - Picks up "money" copper from the guild bank
QueryGuildBankLog(tab) - Updates bank log data from the server, called before all transaction functions. "Money tab" is MAX_GUILDBANK_TABS+1
QueryGuildBankTab(tab) - Updates bank tab data from the server, called before all item functions.
SetCurrentGuildBankTab(tab) - Select different bank tab in the UI
SetGuildBankTabInfo(tab, name, iconIndex) - Modifies name and icon for tab
SetGuildBankTabPermissions(tab, index, enabled) - Modifies the permissions for the GuildBankTab. Guild Leader Only.
SetGuildBankWithdrawGoldLimit(amount) - Sets the gold withdraw limit from the guild bank. Guild Leader Only. (renamed from 'SetGuildBankWithdrawLimit' 4.0)
REMOVED 5.1.0 RENAMED 4.0 SetGuildBankWithdrawLimit(amount) - Sets the gold withdraw limit from the guild bank. Guild Leader Only. (renamed 'SetGuildBankWithdrawGoldLimit' 4.0)(removed 5.1.0)
SplitGuildBankItem(tab, slot, amount) - Picks up part of a stack
WithdrawGuildBankMoney(money) - Withdraws "money" copper from the guild bank

Honor[edit]

GetHolidayBGHonorCurrencyBonuses() - Return rewards for participating in a Call to Arms (holiday) battleground. (added 3.3.3)
GetInspectHonorData() - Return honor info for the inspected unit (if available).
GetPVPLifetimeStats() - Get your PvP/Honor statistics for your lifetime.
GetPVPRankInfo(rank[, unit]) - Get information about a specific PvP rank.
GetPVPRankProgress() - Get information about the PvP rank progress.
GetPVPSessionStats() - Get your PvP/Honor statistics for this session.
GetPVPYesterdayStats() - Get your PvP/Honor statistics for yesterday.
GetRandomBGHonorCurrencyBonuses() - Returns rewards for participating in a random battleground. (added 3.3.3)
HasInspectHonorData() - Determine if the inspected unit's honor data is available.
RequestInspectHonorData() - Request honor data for inspected unit.
UnitPVPName("unit") - Returns unit's name with PvP rank prefix (e.g., "Corporal Allianceguy").
UnitPVPRank("unit") - Get PvP rank information for requested unit.

Ignore[edit]

AddIgnore("name") - Add a player to your ignore list.
AddOrDelIgnore("name") - Toggles the ignore state of the specified name.
DelIgnore("name") - Delete a player from your ignore list.
GetIgnoreName(index) - Get the name of the player on your ignore list at index.
GetNumIgnores() - Get the number of players on your ignore list.
GetSelectedIgnore() - Returns the currently selected index in the ignore listing
SetSelectedIgnore(index) - Sets the currently selected ignore entry

Inspection[edit]

CanInspect("unit"[, showError]) - Returns whether you can inspect the specified unit.
CheckInteractDistance("unit", interaction) - Returns whether you're in range to preform various interactions with the specified unit.
ClearInspectPlayer() - Reset inspect data once finished with it.
GetInspectArenaTeamData(index) - Returns information about one of the inspected player's arena teams.
HasInspectHonorData() - Determine if the inspected unit's honor statistics are available.
RequestInspectHonorData() - Request honor information for inspected unit.
GetInspectHonorData() - Return honor information about the inspected player.
NotifyInspect("unit") - Requests information about a unit's inventory and talents from the server.
UI InspectUnit("unit") - Instructs FrameXML to inspect a particular unit (query server; show UI).

Instance[edit]

CanShowResetInstances() - Determine if player can reset instances at the moment.
GetBattlefieldInstanceExpiration() - Get shutdown timer for the battlefield instance.
GetBattlefieldInstanceInfo(index) - Get the instance ID for a battlefield.
GetBattlefieldInstanceRunTime() - In milliseconds, the time since battleground started (seems to be queried from server because it is not in sync with time()).
GetInstanceBootTimeRemaining() - Gets the time in seconds after which the player will be ejected from an instance.
GetInstanceInfo() - Gets informations about the current Instance
GetNumSavedInstances() - Gets the number of instances that the player is saved to.
GetSavedInstanceInfo(index) - Gets information about an instance that the player is saved to.
IsInInstance() - Returns 1 if the player is in an instance, as well as the type of instance (pvp, raid, etc.).
ResetInstances() - Reset instances.
GetDungeonDifficulty() - Returns the player's current Dungeon Difficulty setting (1-3).
SetDungeonDifficulty(difficulty) - Sets the player's Dungeon Difficulty setting (for the 5-man instances).
GetInstanceDifficulty() - Returns the current instance's Dungeon Difficulty (1-4, or 1 if player is not in an instance).
GetInstanceLockTimeRemaining() - Returns information about the instance lock timer for the instance the player is currently entering.
GetInstanceLockTimeRemainingEncounter(id) - Returns information about bosses in the instance the player is about to be saved to.

Inventory[edit]

These functions manage your inventory, that is 'equipped items'. See also the #Container / Bag and #Bank sections.

AutoEquipCursorItem() - Causes the equipment on the cursor to be equipped.
BankButtonIDToInvSlotID(buttonID, isBag) - Returns the ID number of a bank button or bag in terms of inventory slot ID.
CancelPendingEquip(index) - This function is used to cancel a pending equip.
ConfirmBindOnUse()
ContainerIDToInventoryID(bagID)
CursorCanGoInSlot(invSlot) - Return true if the item currently held by the cursor can go into the given inventory (equipment) slot
EquipCursorItem(invSlot)
EquipPendingItem(invSlot) - Equips the currently pending Bind-on-Equip or Bind-on-Pickup item from the specified inventory slot. (Internal - do not use.)
GetInventoryAlertStatus(index) - Returns one of several codes describing the "status" of an equipped item.
GetInventoryItemBroken("unit",invSlot) - Determine if an inventory item is broken (no durability).
GetInventoryItemCooldown("unit",invSlot) - Get cooldown information for an inventory item.
GetInventoryItemCount("unit",invSlot) - Determine the quantity of an item in an inventory slot.
GetInventoryItemDurability(invSlot) - Returns the maximum and remaining durability points for an inventory item.
GetInventoryItemGems(invSlot) - Returns item ids of the gems socketed in the item in the specified inventory slot.
GetInventoryItemID("unit", invSlot) - Returns the item id of the item in the specified inventory slot.
GetInventoryItemLink("unit",slotId) - Returns an itemLink for an inventory (equipped) item.
GetInventoryItemQuality("unit",invSlot) - Return the quality of an inventory item.
GetInventoryItemTexture("unit",invSlot) - Return the texture for an inventory item.
GetInventorySlotInfo(invSlotName) - Get the info for a named inventory slot (slot ID and texture)
GetWeaponEnchantInfo() - Return information about main and offhand weapon enchantments.
HasWandEquipped() - Returns 1 if a wand is equipped, false otherwise.
IsInventoryItemLocked(id) - Returns whether an inventory item is locked, usually as it awaits pending action.
KeyRingButtonIDToInvSlotID(buttonID) - Map a keyring button to an inventory slot button for use in inventory functions.
PickupBagFromSlot(slot) - Picks up the bag from the specified slot, placing it in the cursor. If an item is already picked up, this places the item into the specified slot, swapping the items if needed.
PickupInventoryItem(invSlot) - "Picks up" an item from the player's worn inventory.
UpdateInventoryAlertStatus()
PROTECTED UseInventoryItem(invSlot) - Use an item in a specific inventory slot.

Item[edit]

These functions operate on item links or item information directly. See also the #Container / Bag and #Inventory sections.

EquipItemByName(itemId or "itemName" or "itemLink"[, slot]) - Equips an item, optionally into a specified slot.
GetAuctionItemLink("type", index) - Returns an itemLink for the specified auction item.
GetContainerItemLink(bagID, slot) - Returns the itemLink of the item located in bag#, slot#.
GetItemCooldown(itemID) - Returns startTime, duration, enable.
GetItemCount(itemId or "itemName" or "itemLink"[, includeBank][, includeCharges]) - Returns number of such items in inventory[, or charges instead if it has charges]
GetItemFamily(itemId or "itemName" or "itemLink") - Returns the bag type that an item can go into, or for bags the type of items that it can contain. (added 2.4)
GetItemIcon(itemId or "itemString" or "itemName" or "itemLink") - Returns the icon for the item. Works for any valid item even if it's not in the cache. (added 2.4)
GetItemInfo(itemId or "itemString" or "itemName" or "itemLink") - Returns information about an item.
GetItemQualityColor(quality) - Returns the RGB color codes for a quality.
GetItemSpell(item) - Returns name, rank.
GetItemStats(itemLink, statTable) - Returns a table of stats for an item.
GetMerchantItemLink(index) - Returns an itemLink for the given purchasable item
GetQuestItemLink("type", index) - Returns an itemLink for a quest reward item.
GetQuestLogItemLink("type", index) - Returns an itemLink for a quest reward item.
GetTradePlayerItemLink(id) - Returns an itemLink for the given item in your side of the trade window (if open)
GetTradeSkillItemLink(index) - Returns the itemLink for a trade skill item.
GetTradeSkillReagentItemLink(index, reagentId) - Returns the itemLink for one of the reagents needed to craft the given item
GetTradeTargetItemLink(id) - Returns an itemLink for the given item in the other player's side of the trade window (if open)
IsUsableItem(item) - Returns usable, noMana.
IsConsumableItem(item)
IsCurrentItem(item)
IsEquippedItem(item)
IsEquippableItem(itemId or "itemName" or "itemLink") - Returns 1 or nil.
IsEquippedItemType("type") - Where "type" is any valid inventory type, item class, or item subclass.
IsItemInRange("itemName" or "itemLink", "unit") - Nil for invalid target, 0 for out of range, 1 for in range.
ItemHasRange(item)
OffhandHasWeapon() - Determine if your offhand carries a weapon.
SplitContainerItem(bagID,slot,amount) - Picks up part of a stack.
UI SetItemRef(link, text, button) - Handles item link tooltips in chat.

Item Socketing[edit]

The following were introduced along with socketed items and gems in 2.0. The 'id' refers to a 1-based index of the sockets in the item being considered for socketing.

AcceptSockets() - Sockets tentative gems into the sockets, replacing existing gems if necessary.
ClickSocketButton(id) - If the cursor is currently holding a gem, tentatively insert it into the socket.
CloseSocketInfo() - Stops considering the item for socketing, without applying changes.
GetSocketItemInfo() - Returns information about the item currently being socketed.
GetSocketItemRefundable() - Returns whether the item currently being socketed is refundable.
GetSocketItemBoundTradeable() - Returns if the item currently being socketed is temporarily tradable (BoP boss loot).
GetNumSockets() - Returns the number of sockets in the item currently being socketed.
GetSocketTypes(id) - Returns the type (color) of a socket in the item.
GetExistingSocketInfo(id) - Returns information about the existing gem in the socket.
GetExistingSocketLink(id) - Returns an item link for the existing gem in the socket.
GetNewSocketInfo(id) - Returns information about the new (tentative) gem in the socket.
GetNewSocketLink(id) - Returns an item link for the new (tentative) gem in the socket.
SocketInventoryItem(slot) - Considers the item in the inventory slot for socketing.
SocketContainerItem(bag, slot) - Consider an item in a container slot for socketing.

Item Text[edit]

These functions relate to item text: books, etc...

CloseItemText() - Close an open item text: books, plaques, etc...
ItemTextGetCreator() - Get the creator of the current text, if player-created.
ItemTextGetItem() - Get the name of the text.
ItemTextGetMaterial() - Get the material on which the text is printed.
ItemTextGetPage() - Get the page number of the currently viewed page.
ItemTextGetText() - Get the page contents of the currently viewed page.
ItemTextHasNextPage() - Determine if there is another page after the current one.
ItemTextNextPage() - Request the next page of the text.
ItemTextPrevPage() - Request the previous page of the text.

Knowledge Base[edit]

KBArticle_BeginLoading(articleId, searchType) - Starts the article loading process.
KBArticle_GetData() - Returns information about the current article.
KBArticle_IsLoaded() - Returns true if an article is loaded.
KBQuery_BeginLoading(searchText, categoryIndex, subcategoryIndex, articlesPerPage, curPage) - Starts a query for articles.
KBQuery_GetArticleHeaderCount() - Returns the number of article headers in the current query.
KBQuery_GetArticleHeaderData(index) - Returns information about an article header of the current query.
KBQuery_GetTotalArticleCount() - Returns the total number of articles that matches the current query.
KBQuery_IsLoaded() - Returns true if a query loaded successfuly.
KBSetup_BeginLoading(articlesPerPage, curPage) - Starts the loading process for the KB start page.
KBSetup_GetArticleHeaderCount() - Returns the number of articles for the current page.
KBSetup_GetArticleHeaderData(index) - Returns information for an article header.
KBSetup_GetCategoryCount() - Returns the number of categories in the knowledge base.
KBSetup_GetCategoryData(index) - Returns information about a category.
KBSetup_GetLanguageCount() - Returns the number of languages in the knowledge base.
KBSetup_GetLanguageData(index) - Returns information about a language.
KBSetup_GetSubCategoryCount(category) - Returns the number of subcategories for a category.
KBSetup_GetSubCategoryData(category, index) - Returns information about a subcategory.
KBSetup_GetTotalArticleCount() - Returns the total number of articles in the knowlege base.
KBSetup_IsLoaded() - Returns true if the knowledge base is loaded successfuly.
KBSystem_GetMOTD() - Returns the server message of the day.
KBSystem_GetServerNotice() - Returns the server notice.
KBSystem_GetServerStatus() - Returns the server status text.

Location[edit]

These functions relate to the current location of the player and how it's displayed.

GetMinimapZoneText() - Returns the zone text, that is displayed over the minimap.
GetRealZoneText() - Returns either instance name or zone name
GetSubZoneText() - Returns the subzone text, e.g. "The Canals".
GetZonePVPInfo() - Returns PVP info for the current zone.
GetZoneText() - Returns the zone text, e.g. "Stormwind City".

Looking for Group[edit]

Functions for use in the 'Looking for Group' tool. See also the #Dungeon Finder and #Raid Browser sections.

CompleteLFGRoleCheck(boolean) - Passing false means declining the roleCheck. The returned boolean seems to indicate that the roleCheck was successful?
GetLFGDeserterExpiration() - Returns the time at which you may once again use the dungeon finder after prematurely leaving a group. (added 3.3.3)
GetLFGRandomCooldownExpiration() - Returns the time at which you may once again queue for a random dungeon. (added 3.3.3)
GetLFGBootProposal() - Returns information about an LFG Kick vote in progress.
UI GetLFGMode() - returns mode, subMode (sometimes empty result)
GetLFGQueueStats() - returns current state and wait times for being in queue
GetLFGRoles() - returns isLeader, isTank, isHealer, isDPS - Returns the roles you signed up as, not the role you were assigned.
GetLFGRoleUpdate() - returns roleCheckInProgress, slots, members
GetLFGRoleUpdateSlot(slot) - returns dungeonType, dungeonID for a particular role slot (integer)
SetLFGBootVote(boolean) - responds to a vote-kick
SetLFGComment("comment")
SetLFGRoles(isLeader, isTank, isHealer, isDPS) - changes the selected roles
UninviteUnit("name" [, "reason"]) - initiate a kick vote in a LFD group.
UnitGroupRolesAssigned(UnitID) - Return's the targeted unit's assigned role.
UnitHasLFGDeserter("unit") - returns whether the specified unit has recently deserted
UnitHasLFGRandomCooldown("unit") - returns whether the specified unit has recently queued for a random

Loot[edit]

Automatic looting behavior is controlled by autoLootDefalt CVar.

CloseLoot([uiFailedFlag])
PROTECTED ConfirmBindOnUse()
ConfirmLootRoll(rollId[, roll]) - Confirm a loot roll (added 1300)
ConfirmLootSlot(slot) - Confirm looting of a BoP item.
GetLootMethod() - Return the currently active lootMethod
GetLootRollItemInfo(rollId)
GetLootRollItemLink(rollId)
GetLootRollTimeLeft(rollid)
GetLootSlotInfo(slot) - Returns icon path, item name, and item quantity for the item in the given loot window slot
GetLootSlotLink(slot) - Returns an itemLink for the item in the given loot window slot
GetLootThreshold() - Return the current loot threshold (for group/master loot)
GetMasterLootCandidate(index) - Return the name of a player who is eligible to receive loot in master mode
GetNumLootItems() - Returns amount of objects to loot (number)
GetOptOutOfLoot() - Return whether the character is currently automatically passing on all loot.
GiveMasterLoot(slot,index)
IsFishingLoot()
LootSlot(slot) - Used to loot the specified slot.
LootSlotIsCoin(slot) - Returns 1 if the given loot window slot contains coins (copper, silver, gold)
LootSlotIsCurrency(slot) - Returns 1 if the given loot window slot contains a form of currency (archaeology fragments)
LootSlotHasItem(slot)
RENAMED LootSlotIsItem(slot) (renamed to LootSlotHasItem 5.0.2)
RollOnLoot(rollId[, roll]) - Roll or pass on a loot event started by the game engine.
SetLootMethod("lootMethod"[, "masterPlayer" or threshold]) - Set the current loot method.
SetLootPortrait()
SetLootThreshold(itemQuality) - Set the threshold for group/master loot.
SetOptOutOfLoot(optOut) - Enables or disables automatic passing on all loot.

Macro[edit]

NOCOMBAT CreateMacro("name", icon, "body", perCharacter, isLocal) - Create a new macro. (nocombat 2.0)
CursorHasMacro() - Returns 1 if the cursor is currently dragging a macro. (added 2.0.3)
DeleteMacro(id or "name") - Deletes a macro.
NOCOMBAT EditMacro(index, "name", iconIndex, "body", isLocal, perCharacter) - Saves a macro. (nocombat 2.0)
GetMacroBody(id or "name") - Returns the body (macro text) of a macro.
GetMacroIconInfo(index) - Returns texture of the icons provided by Blizzard.
GetMacroItemIconInfo(index) - Returns texture of the item icons provided by Blizzard
GetMacroIndexByName("name") - Returns macro index.
GetMacroInfo(id or "name") - Returns "name", "iconTexture", "body", isLocal.
GetNumMacroIcons() - Returns the number of usable icons provided by Blizzard.
GetNumMacroItemIcons() - Returns the number of usable item icons provided by Blizzard.
GetNumMacros() - Returns the number of macros the user has.
PickupMacro(id or "name") - Pickup a macro button icon.
PROTECTED RunMacro(id or "name") - Runs a macro.
PROTECTED RunMacroText("macro") - Interpret the given string as a macro and run it.
SecureCmdOptionParse("command") - Used for evaluating conditionals in macros, returning the appropriate choice.
PROTECTED StopMacro() - Stops the currently executing macro.

Mail[edit]

See also Events associated with Mail.

AutoLootMailItem(index) - Loot all items from mail message.
CheckInbox() - Populate client's inbox with mail from server.
ClearSendMail() - This clears the text in the send mail tab and places the COD item in the inventory.
ClickSendMailItemButton([itemIndex, [clearItem]]) - Places or picks up an item from the send mail frame.
CloseMail() - Closes the mail window.
DeleteInboxItem(index) - Deletes the inbox item at index. It returns immediately, it does not seem to wait for the deletion to go through, giving the normal problems with rapid mail removal attempts.
DropCursorMoney - Drops the amount of money held by the cursor.
GetCoinIcon(amount)
GetInboxHeaderInfo(index) - Returns information about a message in the inbox.
GetInboxItem(index, itemIndex) - Returns description of the attachment attached to message at (index).
GetInboxItemLink(index, itemIndex) - Returns link of the attachment attached to message at (index).
GetInboxNumItems() - Returns the number of messages in your inbox.
GetInboxText(index) - Returns the message text of message at (index).
GetInboxInvoiceInfo(index) - Returns informations about an auction house invoice.
GetLatestThreeSenders - Returns the senders of the most recent unread mail.
GetNumPackages() - Not yet fully implemented. Currently it always returns 1.
GetNumStationeries() - Not yet fully implemented. Currently it always returns 1.
GetPackageInfo(index) - Not yet fully implemented. Currently an index of 1 returns "Test Package".
GetSelectedStationeryTexture() - Not yet fully implemented. Currently it returns "STATIONERYTEST" when the mailbox is open.
GetSendMailCOD() - determine amount of gold entered in COD box in mail frame when mail is sent
GetSendMailItem(index) - Get information about an item attached on the send mail frame.
GetSendMailItemLink(index) - Get link for an item attached on the send mail frame.
GetSendMailMoney()
GetSendMailPrice() - Gets the cost for sending mail.
GetStationeryInfo(index) - Not yet fully implemented. Currently an index of 1 returns "Default Stationery".
HasNewMail() - Returns nil if there is no new mail.
InboxItemCanDelete(index) - Boolean check for whether a message is returnable to the sender.
ReturnInboxItem(index) - Returns to the sender the attached item in the mail message at the specified index.
SelectPackage(index) - Not yet fully implemented. It does nothing visible.
SelectStationery(index) - Not yet fully implemented. It does nothing visible.
SendMail("target", "subject", "body") - If the mailbox is open, this sends mail.
PROTECTED SetSendMailCOD(amount) - Make next mail sent using SendMail() COD target for amount. (protected 2.0)
PROTECTED SetSendMailMoney(amount) - Add money to next mail sent using SendMail(). (protected 2.0)
TakeInboxItem(index, itemIndex) - Take the attached item from the mailbox message at index.
TakeInboxMoney(index) - Take the attached money from the mailbox message at index.
TakeInboxTextItem(index) - Creates a permanent copy of letter (readable "Plain Letter").

Mapping[edit]

These functions are related to display of the world map.

ClickLandmark(id)
GetChallengeModeMapInfo - Returns details about the challenge mode for an instance map
GetCorpseMapPosition() - Returns the position of the corpse on the current world map.
GetCurrentMapContinent() - Returns the number of the continent the world map is currently shown.
GetCurrentMapDungeonLevel() - Returns which level of a multi-level map is currently shown.
GetNumDungeonMapLevels() - Returns the number of levels in the currently shown zone map (0 for none).
GetCurrentMapAreaID () - Returns the area id of the current map.
GetCurrentMapZone() - Returns the number of the zone the world map is currently showing.
GetMapContinents() - Returns the continent names.
GetMapDebugObjectInfo(id)
GetMapInfo() - Returns the name and size of the current world map.
GetMapLandmarkInfo(landmarkIndex) - Returns information about a landmark on the current world map.
GetMapNameByID(id) - Returns the localized map name for a given MapID
GetMapOverlayInfo(overlayIndex) - Returns information about an overlay on the current world map.
GetMapZones(continentIndex) - Returns the zone names of a continent.
GetNumMapDebugObjects()
GetNumMapLandmarks() - Returns the number of landmarks on the current world map.
GetNumMapOverlays() - Returns the number of overlays on the current world map.
GetPlayerMapPosition("unit") - Returns the position of a unit on the current world map.
ProcessMapClick(x,y) - Passes a click to the client, which then calculates if the zone has to be changed.
QuestMapGetPOIInfoForQuest(questIndex, poiIndex) - returns details about a point of interest on the map
RequestBattlefieldPositions() - Request new data for GetBattlefieldPosition().
SetDungeonMapLevel(level) - Sets which level of a multi-level map (Dalaran, dungeons, etc) is currently shown.
SetMapByID(id) - Set map by area id.
SetMapToCurrentZone() - Sets the current world map to the zone the player is presently in.
SetMapZoom(continentIndex[, zoneIndex]) - Sets the current world map to a specific continent and optionally zone.
SetupFullscreenScale() - Configures scale of full-screen views, such as the world map, to best fill screen.
UI ToggleWorldMap() - Turns the world map on/off.
UpdateMapHighlight(x,y) - Provides map rollover information for highlighting.
CreateWorldMapArrowFrame("frame") - create a arrow cursor for the player position and orientation.
UpdateWorldMapArrowFrames() - update the orientation of the arrow cursor based on the current player orientation.
ShowWorldMapArrowFrame(bool) - show or hide the arrow representing the player.
PositionWorldMapArrowFrame(x,y) - set the position of the arrow representing the player
ZoomOut() - "Zooms out" of the current map: going from zone to continent to world view.

Merchant[edit]

BuyMerchantItem(index[, qty]) - Buys an item from a merchant.
BuybackItem(index) - Buys back a sold item.
CanMerchantRepair() - Returns true if the merchant can repair items.
CloseMerchant() - Closes the merchant window.
GetBuybackItemInfo(index) - Returns information about the buyback item.
GetBuybackItemLink(index) - Returns an itemLink for the buyback item.
GetMerchantItemCostInfo (index) - Returns "alternative currency" information about an item.
GetMerchantItemCostItem (index, itemIndex) - Returns information about an "alternative currency" component of the price for a purchasable item.
GetMerchantItemInfo(index) - Returns information about the given purchasable item
GetMerchantItemLink(index) - Returns an itemLink for the given purchasable item
GetMerchantItemMaxStack(index) - Returns the maximum number of items in a stack.
GetMerchantNumItems() - Returns the number of items the merchant sells.
GetRepairAllCost()
HideRepairCursor()
InRepairMode() - Returns true if your cursor is in repair mode
PickupMerchantItem(index) - Places the item on the cursor.
RepairAllItems([guildBankRepair]) - Repairs all equipped and inventory items.
ShowMerchantSellCursor(index) - Changes the cursor to the merchant sell cursor.
ShowRepairCursor()
GetNumBuybackItems() - Returns number of items available for buyback

Movement[edit]

Most of these functions may only called on a hardware event from 'secure' code.

FollowUnit("unit") - Follow an ally with the specified UnitID
PROTECTED CameraOrSelectOrMoveStart() - Begin "Left click" in the 3D world. (protected 1.10)
PROTECTED CameraOrSelectOrMoveStop([stickyFlag]) - End "Left click" in the 3D world. (protected 1.10)
PROTECTED JumpOrAscendStart() - Makes the player jump.
PROTECTED AscendStop() - Called when you release the jump key.
PROTECTED MoveBackwardStart - The player begins moving backward at the specified time.
PROTECTED MoveBackwardStop - The player stops moving backward at the specified time.
PROTECTED MoveForwardStart - The player begins moving forward at the specified time.
PROTECTED MoveForwardStop - The player stops moving forward at the specified time.
PROTECTED StrafeLeftStart - The player begins strafing left at the specified time.
PROTECTED StrafeLeftStop - The player stops strafing left at the specified time.
PROTECTED StrafeRightStart - The player begins strafing right at the specified time.
PROTECTED StrafeRightStop - The player stops strafing right at the specified time.
PROTECTED ToggleAutoRun - Turns auto-run on or off
PROTECTED ToggleRun - Toggle between running and walking.
PROTECTED TurnLeftStart - The player starts turning left at the specified time.
PROTECTED TurnLeftStop - The player stops turning left at the specified time.
PROTECTED TurnOrActionStart() - Begin "Right Click" in the 3D world. (protected 1.10)
PROTECTED TurnOrActionStop() - End "Right Click" in the 3D world. (protected 1.10)
PROTECTED TurnRightStart - The player starts turning right at the specified time.
PROTECTED TurnRightStop - The player stops turning right at the specified time.

Music Player[edit]

These functions were exclusive to the Mac client, added in 1.12. The functions are protected and are only called through key bindings, thus they only serve to enable you to bind specific keys to control iTunes while using the WoW client.

PROTECTED MusicPlayer_BackTrack() - Go back a track.
PROTECTED MusicPlayer_NextTrack() - Go forward a track.
PROTECTED MusicPlayer_PlayPause() - Toggle play/pause.
PROTECTED MusicPlayer_VolumeDown() - Reduce music volume.
PROTECTED MusicPlayer_VolumeUp() - Increase music volume.

Pet[edit]

PROTECTED CastPetAction(index) - Cast the corresponding pet skill.
ClosePetStables() - Close the pet stables user interface.
DropItemOnUnit("unit") - Drops an item from the cursor onto a unit.
GetPetActionCooldown(index) - Returns cooldown information for the pet action at the specificed pet action bar slot.
GetPetActionInfo(index) - Returns information on the pet action at the specified pet action bar slot.
GetPetActionSlotUsable(slot)
GetPetActionsUsable() - Returns a value indicating if the player's pet's actions can be used at this time.
GetPetExperience() - Returns the pet's current xp, and total xp required for next level.
GetPetFoodTypes() - Returns a list of the food types the player's pet can eat.
GetPetHappiness() - Returns the pet's happiness, damage percentage, and loyalty gain rate.
GetPetIcon() - Returns the path to the texture to use as the icon for the player's pet.
GetPetTimeRemaining() - Returns in milliseconds about some timeout for the player's pet.
GetStablePetFoodTypes(index) - Returns a list of the food types a specific stabled pet can eat.
GetStablePetInfo(index) - Returns information about a specific stabled pet.
HasPetSpells() - Returns true if the player has pet spells.
HasPetUI() - Returns 1 if the player has a pet User Interface.
PetAbandon() - Permanently abandons your pet.
PROTECTED PetAggressiveMode() - Set your pet in aggressive mode. (protected 2.0)
PROTECTED PetAttack() - Instruct your pet to attack your target. (protected 2.0)
IsPetAttackActive() - Returns true if the pet is currently attacking.
PetStopAttack() - Stop the attack of the pet.
PetCanBeAbandoned() - Returns true if the pet is abandonable.
PetCanBeDismissed()
PetCanBeRenamed() - Returns true if the pet can be renamed.
PROTECTED PetDefensiveMode() - Set your pet in defensive mode. (protected 2.0)
PetDismiss() - Dismiss your pet.
PROTECTED PetFollow() - Instruct your pet to follow you. (protected 2.0)
PetHasActionBar() - Determine if player has a pet with an action bar.
PROTECTED PetPassiveMode() - Set your pet into passive mode. (protected 2.0)
PetRename("name") - Renames the pet.
PROTECTED PetWait() - Instruct your pet to remain still. (protected 2.0)
PickupPetAction(slot) - Drags an action from the specified pet action bar slot into the cursor.
PickupStablePet(index)
SetPetStablePaperdoll(modelObject)
PROTECTED TogglePetAutocast(index) - Toggles whether the specified pet ability should autocast or not.
PROTECTED ToggleSpellAutocast("spellName" | spellId, bookType) - Toggles whether the specified spell should autocast or not.
GetSpellAutocast("spellName" | spellId, bookType) - Check whether the specified spell autocasts or not.

Petition[edit]

Petitions are signup documents for guilds and arena teams. Some functions below only apply to a particular petition type.

ClosePetition() - Closes the current petition.
GetNumPetitionNames() - Gets the number of signatures on the current petition.
GetPetitionInfo() - Retrieves information about the current petition.
GetPetitionNameInfo(index) - Retrieves information about a signature on the petition.
OfferPetition() - Offers a petition to your target, inviting them to join your would-be guild/arena team.
RenamePetition("name") - Renames the current petition.
SignPetition() - Signs the current petition.
TurnInGuildCharter() - Founds a guild.

Quest[edit]

See also the #Gossip section.

AbandonQuest - Abandon the specified quest.
AcceptQuest - Accept the specified quest.
AddQuestWatch(questIndex[, watchTime]) - Add a quest to the watch list.
AddWorldQuestWatch(questId) - Add a world quest to the watch list.
CloseQuest
CollapseQuestHeader - Collapses a quest header.
CompleteQuest - Complete the specified quest.
ConfirmAcceptQuest - Accept an escort quest being started by a player nearby.
DeclineQuest - Declines the currently offered quest.
ExpandQuestHeader - Expands a quest header.
GetAbandonQuestName - Gets the name of a quest while it is being abandoned.
GetActiveLevel(index) - Gets the level of an active quest (only available after QUEST_GREETING event).
GetActiveTitle(index) - Gets the title of an active quest (only available after QUEST_GREETING event).
GetAvailableLevel(index) - Gets the level of an available quest (only available after QUEST_GREETING event).
GetAvailableTitle(index) - Gets the title of an available quest (only available after QUEST_GREETING event).
GetAvailableQuestInfo(index) - Returns metadata (quest type) about an available quest. (added 3.3.3)
GetDailyQuestsCompleted - Return the current number of daily quests completed today.
GetGreetingText()
GetMaxDailyQuests - Returns the maximum number of daily quests completable in one day.
GetNumActiveQuests - Gets the number of currently active quests from this NPC (only available after QUEST_GREETING event).
GetNumAvailableQuests - Gets the number of currently available quests from this NPC (only available after QUEST_GREETING event).
GetNumQuestChoices - Returns the number of rewards available for choice for quest currently in gossip window.
GetNumQuestItems - Returns the number of items necessary to complete a particular quest.
GetNumQuestLeaderBoards([questIndex]) - Returns the number of available quest objectives.
GetNumQuestLogChoices - Returns the number of options someone has when getting a quest item.
GetNumQuestLogEntries - Returns the number of entries in the quest log.
GetNumQuestLogRewards - Returns the count of the rewards for a particular quest.
GetNumQuestRewards - Returns number of reward items (those that you always get) for quest currently in gossip window.
GetNumQuestWatches() - Returns the number of quest watches active.
GetObjectiveText() - Gets the objective of the current quest.
GetProgressText() - Returns quest progress text, displayed by the NPC before the player pressed "Continue".
GetQuestBackgroundMaterial - Returns the material string associated with the particular quest.
GetQuestsCompleted([table]) - Returns list of completed quests. only available after QUEST_QUERY_COMPLETE event. (added 3.3.0)
GetQuestGreenRange() - Return for how many levels below you quests and mobs remain "green" (i.e. yield xp)
GetQuestIndexForTimer
GetQuestIndexForWatch(watchIndx) - Return the quest index for the specified watch
GetQuestItemInfo - Returns basic information about the reward/choice/required item for quest currently in gossip window.
GetQuestItemLink - Returns an itemLink for a selected quest reward/choice/required item for quest currently in gossip window.
GetQuestLink(index) - Returns a QuestLink for a quest
GetQuestLogChoiceInfo - Returns a bunch of data about a quest reward choice from the quest log.
GetQuestLogGroupNum() - Returns suggested number of players for quest selected currently in log or 0 if there's no suggestion.
GetQuestLogItemLink - Returns item link for selected quest reward/choice/required item from quest log.
GetQuestLogLeaderBoard(ldrIndex[, questIndex]) - Gets information about the objectives for a quest.
GetQuestLogPushable - Returns true if the currently loaded quest in the quest window can be shared.
GetQuestLogQuestText - Returns the description and objectives required for the specified quest.
GetQuestLogRequiredMoney - Returns amount of money required for quest completion from quest log.
GetQuestLogRewardInfo - Returns a pile of reward item info from the quest log.
GetQuestLogRewardMoney - Returns a number representing the amount of copper returned by a particular quest.
GetQuestLogRewardSpell - Returns name and texture of spell awarded for quest completion from quest log.
GetQuestLogRewardTalents - Returns number of talents awarded for quest completion from quest log.
GetQuestLogRewardXP - Returns the amount of experience awarded by a particular quest.
GetQuestLogSelection - Returns a number associated with the QuestLogSelection index.
GetQuestLogTimeLeft - Returns the seconds remaining on the current quest timer.
GetQuestLogTitle(index) - Returns verbose data about a particular quest log entry: level requirement, tag, suggested group, completed status, etc.
GetQuestMoneyToGet - Returns amount of money required for quest currently displayed in gossip.
GetQuestResetTime - Returns number of seconds until quest reset.
GetQuestReward(rewardIndex) - Completes the quest with the specified quest reward.
GetQuestText - Gets the description of the current quest.
GetQuestTimers - Returns all of the quest timers currently in progress.
GetRewardArenaPoints() - Returns the amount of arena points awarded by the currently displayed quest.
GetRewardHonor() - Returns the amount of honor points awarded by the currently displayed quest.
GetRewardMoney() - Returns a amount of copper rewarded for completion of quest displayed in gossip.
GetRewardSpell() - Returns name and texture of spell awarded for quest completion for quest currently in gossip window.
GetRewardTalents() - Returns number of talents awarded for quest completion for quest currently in gossip window.
GetRewardText() - Returns quest reward text, displayed by the NPC before the player hits "Complete Quest".
GetRewardTitle() - Returns the title awarded by the currently displayed quest.
GetRewardXP() - Returns the amount of experience awarded by the currently displayed text.
GetTitleText - Retrieves the title of the quest while talking to the NPC about it.
IsCurrentQuestFailed
IsQuestCompletable - Returns true if a quest is possible to complete.
IsQuestWatched(questIndex) - Determine if the specified quest is watched.
IsWorldQuestWatched(questId) - Determine if the specified world quest is watched.
IsUnitOnQuest(questIndex, "unit") - Determine if the specified unit is on the given quest.
QuestChooseRewardError - Throws an error when the quest choose reward method doesn't work.
QuestFlagsPVP() - Determine if the quest will flag you you for PvP when accepted.
QuestGetAutoAccept() - Returns whether the last-offered quest was automatically accepted. (added 3.3.0)
QuestLogPushQuest - Initiates the sharing of the currently viewed quest in the quest log.
RemoveQuestWatch(questIndex) - Removes a quest watch by questIndex.
RemoveWorldQuestWatch(questId) - Removes a world quest watch by questId.
SelectActiveQuest - Selects an active quest from the NPC. only available after QUEST_GREETING event.
SelectAvailableQuest - Selects an available quest from the NPC. only available after QUEST_GREETING event.
SelectQuestLogEntry - Sets the selected quest, required for most GetQuest functions.
SetAbandonQuest - Called before #AbandonQuest().
ShiftQuestWatches(id1, id2) - Exchanges the order of two watched quests. (added 3.3.3)
SortQuestWatches() - Sorts the watched quests according to proximity and returns whether the order changed since last sorting. (added 3.3.3)
UI ToggleQuestLog() - Returns whether the offered quest is a weekly quest. (added 6.0.2)
WatchFrame_Update - Updates the watch frame display.
QueryQuestsCompleted() - Query list of completed quests. (added 3.3.0)
QuestIsDaily() - Returns whether the offered quest is a daily quest. (added 3.3.3)
QuestIsWeekly() - Returns whether the offered quest is a weekly quest. (added 3.3.3)

Raid[edit]

See also the #Group section.

ClearRaidMarker() - Removes all current active raid markers (flares). (added 4.0.1)
ConvertToRaid() - Converts party to raid.
ConvertToParty() - Converts raid to party.
DemoteAssistant("unit") - Demotes player from assistant status. Requires raid leadership.
GetAllowLowLevelRaid() - Returns whether joining low-level raids is enabled for the current character.
GetPartyAssignment("assignment") - Returns unitID of unit assigned to given role.
GetPartyAssignment("assignment", "unit") - Returns a value based on whether the unit is assigned to given role
GetRaidRosterInfo(raidIndex) - Returns information about the members of your raid .
GetRaidRosterSelection
GetRaidTargetIndex("unit") - Get the raid target index assigned to a unit.
GetReadyCheckStatus("unit") - Returns a raid member's response to the current LFG check.
InitiateRolePoll() - Initiates a role check.
PROTECTED PlaceRaidMarker(index) - Brings up a target selection circle to place a raid marker (flare). Valid indexes 1-5. (added 4.0.1)
PromoteToAssistant("unit") - Promotes player to assistant status. Requires raid leadership.
RequestRaidInfo() - Returns information about which instances you are saved to.
PROTECTED SetPartyAssignment("assignment", player) (added 2.3.3)
SetAllowLowLevelRaid(allowed) - Controls whether the current character can join low-level raids.
SetRaidRosterSelection(index)
SetRaidSubgroup(index, subgroup) - Move a raid member from his current subgroup into a different, non-full subgroup.
PROTECTED SwapRaidSubgroup(index1, index2) - Swaps raid members into different groups.
SetRaidTarget("unit", index) - Set the raid target index for a unit.
UnitInRaid("unit") - Returns raidIndex if unit is in your raid, nil if not.

Raid Browser[edit]

Functions hidden supporting the Raid Browser UI, added in 3.3. See also the #Dungeon Finder and #Looking for Group sections. This is a very preliminary list of functions by perusing FrameXML\LFRFrame.lua/xml files. Please edit and contribute if you know more about these =)

UI LFGGetDungeonInfoByID(id) - returns data for the specified dungeon/raid/category ID, from the table returned by #GetLFDChoiceInfo. Raid category IDs and raid IDs may be obtained from the UI function LFR_FULL_RAID_LIST_HEADER_ORDER, LFR_FULL_RAID_LIST = #GetFullRaidList().
GetInstanceLockTimeRemainingEncounter(index) - returns bossName, texture, isKilled
RefreshLFGList()
SearchLFGGetEncounterResults(index, bossIndex) - returns bossName, texture, isKilled
SearchLFGGetJoinedID() - returns the currently selected raid ID or nil
SearchLFGGetNumResults() - returns numResults, totalResults
SearchLFGGetPartyResults(index, partyMemberIndex) - returns name, level, relationship, className, areaName, comment
SearchLFGGetResults(index) - returns name, level, areaName, className, comment, partyMembers, status, class, encountersTotal, encountersComplete, isLeader, isTank, isHealer, isDamage
HW SearchLFGJoin(typeID, raidID) - enters a search into the Raid Browser
SearchLFGLeave() - removes yourself from looking through the Raid Browser. Equivalent to selecting "none" in the Raid Browser
SearchLFGSort(sortType)
SetLFGComment(comment) - sets the comment in the raid browser


These also appear to be used by the Raid Browser, as well as the Dungeon Finder:

ClearAllLFGDungeons()
JoinLFG()
LeaveLFG()
RequestLFDPartyLockInfo()
RequestLFDPlayerLockInfo()
SetLFGDungeon(id)
SetLFGDungeonEnabled(dungeonID, isEnabled)
SetLFGHeaderCollapsed(headerID, isCollapsed)

RealID (BNet)[edit]

These functions are only available in Patch 3.3.5.

BNAcceptFriendInvite(ID)
BNConnected() - Returns your battle.net connected state (True|False)
BNCreateConversation(id,id)
BNDeclineFriendInvite(ID)
BNFeaturesEnabled()
BNFeaturesEnabledAndConnected()
BNGetBlockedInfo(index)
BNGetBlockedToonInfo(index)
BNGetConversationInfo(chatTarget) - returns unknown
BNGetConversationMemberInfo(conversationID, memberID) - returns accountID, toonID, name
BNGetCustomMessageTable(table)
BNGetFOFInfo(presenceID, mutual, non-mutual, index) - returns presenceID, givenName, surname, isFriend
BNGetFriendInfo(friendIndex) - Returns BNet ID, real name, character name, character ID, game client, connected, status, broadcast and note of the friend
BNGetFriendInfoByID(presenceID) - returns presenceID, givenName, surname, toonName
BNGetFriendInviteInfo(menuValue) - returns presenceID, givenName, surname
BNGetFriendToonInfo(friendIndex, toonIndex)
BNGetInfo() - returns presenceID, toonID, currentBroadcast, bnetAFK, bnetDND
BNGetMatureLanguageFilter()
BNGetMaxPlayersInConversation()
BNGetNumBlocked()
BNGetNumBlockedToons()
BNGetNumConversationMembers(conversationID)
BNGetNumFOF(ID,mutual,non)
BNGetFOFInfo(ID, mutual, non, index)
BNGetNumFriendInvites()
BNGetNumFriends() - returns numBNetTotal, numBNetOnline
BNGetNumFriendToons(index)
BNGetSelectedBlock()
BNGetSelectedFriend()
BNGetSelectedToonBlock()
BNGetToonInfo(toonID) - returns hasFocus, toonName, client, realmName, faction, race, class, guild, zoneName, level, gameText
BNInviteToConversation(target, player)
BNIsBlocked(ID)
BNIsFriend(presenceID)
BNIsSelf(presenceID) - Returns true if the specified presenceID is your own, false otherwise.
BNIsToonBlocked(ID)
BNLeaveConversation(channel)
BNListConversation(channel)
BNRemoveFriend(ID)
BNReportFriendInvite(ID)
BNReportPlayer(presenceID, type, comments)
BNSendConversationMessage(channel,text)
BNSendFriendInvite(text, noteText)
BNSendFriendInviteByID(ID, noteText)
BNSendWhisper(id,text)
BNSetAFK()
BNSetBlocked(ID, bool)
BNSetCustomMessage(text)
BNSetDND()
BNSetFocus()
BNSetFriendNote(ID, noteText)
BNSetMatureLanguageFilter(bool)
BNSetSelectedBlock(index)
BNSetSelectedFriend(index)
BNSetSelectedToonBlock(index)
BNSetToonBlocked(ID, bool)
IsBNLogin()
CanCooperateWithToon(toonID)

Recruit-a-Friend[edit]

Note: Only usable by people that have been referred or have referred someone.

AcceptLevelGrant() - Accepts a level grant proposal.
DeclineLevelGrant() - Declines a level grant proposal.
IsReferAFriendLinked("unit") - Returns whether the unit is linked to the player via RaF.
CanGrantLevel("unit") - Returns whether you can grant levels to a particular player.
GrantLevel("unit", level) - Grant a custom amount of levels to a RaF-linked player.
CanSummonFriend("unit") - Returns whether you can RaF summon a particular unit.
SummonFriend("unit") - Summons a player using the RaF system.
GetSummonFriendCooldown() - Returns the cooldown (start, duration) of the RaF Summon Friend ability.

Script Profiling[edit]

Note: CPU profiling is disabled by default since it has some overhead. CPU profiling is controlled by the scriptProfile CVar, which persists across sessions, and takes effect after a UI reload. Memory profiling is always available. These functions were added in Patch 2.1.

GetAddOnCPUUsage(index or "name") - Returns the total time used by the specified AddOn. This returns a cached value calculated by UpdateAddOnCPUUsage().
GetAddOnMemoryUsage(index or "name") - query an addon's memory use (in K, precision to 1 byte) - This returns a cached value calculated by UpdateAddOnMemoryUsage().
GetEventCPUUsage(["event"]) - Returns the time used and number of times the specified event has been triggered. If 'event' is omitted, the time and count will be totals across all events.
GetFrameCPUUsage(frame[, includeChildren]) - Returns the time used and number of function calls of any of the frame's script handlers. If 'includeChildren' is true or omitted, the time and call count will include the handlers for all of the frame's children as well.
GetFunctionCPUUsage(function[, includeSubroutines]) - Returns the time used and number of times the specified function was called. If 'includeSubroutines' is true or omitted, the time includes both the time spent in the function and subroutines called by the function. If it is false, then time is only the time actually spent by the code in the function itself.
GetScriptCPUUsage() - Returns the total time used by the scripting system
ResetCPUUsage() - Reset all CPU profiling statistics to zero.
UpdateAddOnCPUUsage() - Scan through the profiling data and update the per-addon statistics
UpdateAddOnMemoryUsage() - Scan through memory profiling data and update the per-addon statistics

Protection[edit]

issecure() - Determine if the current environment is secure.
forceinsecure() - Taint the current execution path.
issecurevariable([table,] "name") - Determine if the specified variable is secure.
securecall(function or "functionName", ...) - Call a function from a secure environment without risking secure status.
hooksecurefunc([table,] "functionName", hookfunc) - Creates a secure 'post hook' for the named function. The hookfunc is invoked after the original function, and receives the same parameters. Return values from hookfunc are discarded. This is the only safe way to hook functions that execute protected functionality.
InCombatLockdown() - Returns true if the in-combat AddOn restrictions are active.
scrub(...) - returns the argument list with non-number/boolean/string values changed to nil.

Settings[edit]

CombatTextSetActiveUnit(unit) - changes the entity for which COMBAT_TEXT_UPDATE events fire.
DownloadSettings() - Download a backup of your settings from the server.
GetCVar("cVar") - Returns the current value of a console variable.
GetCVarDefault("cVar") - Returns the default value of a console variable.
GetCVarBool("cVar") - Returns the value of the cvar as 1 or nil instead of requiring you to compare the cvar value with "0" or "1"
GetCVarInfo("cVar") - returns name, defaultValue, serverStoredAccountWide, serverStoredPerCharacter
GetCurrentMultisampleFormat() - Get the current in-use multi-sample (antialias) format.
GetCurrentResolution() - Get the index of the current screen resolution.
GetGamma()
GetMultisampleFormats() - Get the available multi-sample (antialias) formats..
GetRefreshRates(x)
GetScreenResolutions()
GetVideoCaps()
IsThreatWarningEnabled() - returns whether threat warnings should currently be displayed.
RegisterCVar("cVar"[, value]) - Registers a variable for use with the #GetCVar and #SetCVar functions.
ResetPerformanceValues()
ResetTutorials()
SetCVar("cVar", value[, "scriptCVar"]) - Set the value of a variable in config.wtf
SetEuropeanNumbers(flag) - Sets the decimal separator to a comma instead of a dot
SetGamma(value)
SetLayoutMode()
SetMultisampleFormat(index) - Set the multi-sample (antialias) format to use.
SetScreenResolution(x)
ShowCloak(flag) - Set whether player's cloak is displayed.
ShowHelm(flag) - Set whether player's helm is displayed.
ShowNumericThreat() - Returns 1 if detailed threat information should be shown on unit frames.
ShowingCloak() - Return 1 if player's cloak is displayed, nil otherwise.
ShowingHelm() - Return 1 if player's helm is displayed, nil otherwise.
UploadSettings() - Uploads a backup of your settings to the server.

Spell[edit]

The 'spellID' is the index of a spell in a spellbook. The indices increase from top to bottom, then left to right, then between categories, e.g.: General -> Discipline. spellIDs will change as players learn new spells and 'professions'.

PROTECTED CastShapeshiftForm(index)
PROTECTED CastSpell(spellID, "bookType") - Cast the specified spell by ID. spellbookTab is "spell" or "pet". As of patch 2.0, this function has been restricted to Blizzard signed UI mods. Note: You can still use this function to open Craft windows and activate Lock Picking. (protected 2.0)
PROTECTED CastSpellByName("name"[, onSelf]) - Cast the specified spell by display name. As of patch 2.0, this function has been restricted to Blizzard signed UI mods. Note: You can still use this function to open Craft windows and activate Lock Picking. (protected 2.0)
GetMultiCastTotemSpells(totemslot) - Returns a list of spellIDs that are applicable for the specified totem slot (1-4) (added 3.2)
GetNumShapeshiftForms()
GetNumSpellTabs() - Returns the total number of tabs in the user's spellbook.
GetQuestLogRewardSpell
GetRewardSpell
GetShapeshiftForm(unknown) - returns zero-based index of current form/stance
GetShapeshiftFormCooldown(index)
GetShapeshiftFormInfo(index) - Retrieves information about an available ShapeshiftForm or Stance.
GetSpellAutocast("spellName" | spellId, bookType) - Check whether the specified spell autocasts or not.
GetSpellBookItemInfo(spellID, "bookType") - Returns the spell's type and spellID for a spell in the player's spellbook.
GetSpellBookItemName(spellID, "bookType") - Returns the spell name and spell rank for a spell in the player's spellbook.
GetSpellCooldown(spellName | spellID, "bookType") - Retrieves data on the cooldown of a specific spell.
GetSpellDescription(spellID) - Retrieves the description text of a specific spell (enhanced tooltip text).
GetSpellInfo (spellId | spellName | spellLink) - Returns the spell's info, including name, cost, icon, cast time, and range.
GetSpellLink (spellName, spellRank) - Returns the spell's link. (added 2.4)
GetSpellTabInfo(spellbookTabNum) - Returns information about the specified spellbook tab.
GetSpellTexture(spellName | spellID, "bookType") - Returns the texture used for the spell's icon.
GetTotemInfo(slot) - Returns information about a totem.
GetSpellPowerCost(spellID) - Returns information about spell's resource cost (mana/focus/etc.), in the form of tables describing each resource.
IsAttackSpell(spell) - Returns 1 if the spell is the "Attack" spell.
IsAutoRepeatSpell(spell)
IsPassiveSpell(spellID, "bookType") - Returns whether the icon in your spellbook is a Passive ability. Formerly IsSpellPassive(spell).
IsSpellInRange("spellName", [unit]) - Is nil for no valid target, 0 for out of range, 1 for in range.
IsUsableSpell(spell)
PickupSpell("spellName" | spellID, "bookType") - Loads an action button onto the cursor to be dropped into a quickbar slot.
UI QueryCastSequence("sequence") - Returns index, item, spell for the spell/item that will be used next if the cast sequence is executed.
PROTECTED SetMultiCastSpell(actionID,spellID) - Assigns a spellID to a multicast (totem bar) actionID (added 3.2)
SpellCanTargetUnit("unit") - Returns true if the spell awaiting target selection can be cast on the specified unit.
SpellHasRange(spell) - Returns true if the specified spell has a ranged effect (i.e. requires a target).
SpellIsTargeting() - Returns true if a spell has been cast and is awaiting target selection.
PROTECTED SpellStopCasting() - Stops the current spellcast.
PROTECTED SpellStopTargeting() - Cancels the spell awaiting target selection.
PROTECTED SpellTargetUnit("unit") - Casts the spell awaiting target selection on the specified unit.
PROTECTED ToggleSpellAutocast("spellName" | spellId, bookType) - Toggles whether the specified spell should autocast or not.
UnitCastingInfo("unit") - Returns spellName, nameSubtext, text, texture, startTime, endTime, isTradeSkill, castID, interrupt .
UnitChannelInfo("unit") - Returns spellName, nameSubtext, text, texture, startTime, endTime, isTradeSkill, interrupt .

System[edit]

ConsoleExec("command") - Execute a console command.
DetectWowMouse() - Attempts to detect the world of warcraft MMO mouse.
GetBuildInfo() - Returns information about current client build.
geterrorhandler() - Returns the currently set error handler.
GetCurrentKeyBoardFocus() - Returns the [editbox] widget currently handling keyboard events.
GetExistingLocales() - Returns a list of installed language packs.
GetFramerate() - Returns the current framerate (full precision)
GetGameTime() - Returns the time in-game.
GetLocale() - Returns client locale, example 'enUS'.
GetCursorPosition() - Returns the cursor's position on the screen.
GetNetStats() - Get bandwidth and latency network information.
GetRealmName() - returns the name of the server a user is logged in to
GetScreenHeight() - Returns the height of the window in pixels.
GetScreenWidth() - Returns the width of the window in pixels.
UI GetText() - Used to localize some client text.
GetTime() - Returns the system uptime in seconds (millisecond precision).
IsAltKeyDown() - Returns true if the alt key is currently depressed.
InCinematic()
IsControlKeyDown() - Returns true if the control key is currently depressed.
IsDebugBuild()
IsDesaturateSupported()
IsLeftAltKeyDown() - Returns true if the left alt key is currently depressed.
IsLeftControlKeyDown() - Returns true if the left control key is currently depressed.
IsLeftShiftKeyDown() - Returns true if the left shift key is currently depressed.
IsLinuxClient() - Boolean - Returns true if WoW is being run on Linux.
IsLoggedIn() - Returns nil before the PLAYER_LOGIN event has fired, 1 afterwards.
IsMacClient() - Returns true if WoW is being run on Mac.
IsRightAltKeyDown() - Returns true if the right alt key is currently depressed.
IsRightControlKeyDown() - Returns true if the right control key is currently depressed.
IsRightShiftKeyDown() - Returns true if the right shift key is currently depressed.
IsShiftKeyDown() - Returns true if the shift key is currently depressed.
IsStereoVideoAvailable() - (added 3.0.8)
IsWindowsClient() - Returns true if WoW is being run on Windows.
OpeningCinematic() - Shows the opening movie for a player's race
PlayMusic() - Plays the specified mp3.
PlaySound() - Plays the specified built-in sound effect.
PlaySoundFile() - Plays the specified sound file.
HW ReloadUI() - Reloads the UI from source files
RepopMe() - The "Release Spirit" button. Sends you to the graveyard when dead.
RequestTimePlayed() - Request a summary of time played from the server.
RestartGx() - Restarts the graphical engine. Needed for things such as resolution changes to take effect.
RunScript("script") - Execute "script" as a block of Lua code.
Screenshot() - Takes a screenshot.
UI SecondsToTime - Converts a number of seconds into a readable days / hours / etc. formatted string.
SetAutoDeclineGuildInvites(value) - Set the checkbox option for blocking guild invites (value may be 0 or 1)
seterrorhandler(function) - Set the error handler to the given parameter.
StopCinematic()
StopMusic() - Stops the currently playing mp3.
UI UIParentLoadAddOn("AddOnName") - Loads or Reloads the specified AddOn, and pops up an error message if it fails to load for any reason.
UI TakeScreenshot() - Takes a screenshot.
UI ERRORMESSAGE(value) - Displays the script error dialog with optional text
debuginfo() - Output win32 debug text. Freeware debug message viewer: DebugView (Has no effect on live server.)
UI message("text") - Displays a message box with your text message and an "Okay" button.

Specialization[edit]

GetActiveSpecGroup() - Returns the index of the current active talent group for the player. (added 5.0.4)
SetActiveSpecGroup() - Changes the active specialization/talents/glyphs group (dual-spec). (added 5.0.4)
GetNumSpecGroups() - Returns the number of specialization group (dual specs) the player has. (added 5.0.4)
GetSpecialization([ isInspect [, isPet] [, specGroup] ]) - Returns the index of the player's current specialization. (added 5.0.4)
GetNumUnspentTalents() - Returns the number of unspent talents. (added 5.0.4)
GetNumSpecializations([inspect[,pet]]) - Returns the number of available specializations. (added 5.0.4)
GetSpecializationInfo(tabIndex[,inspect][,isPet][, groupIndex]) - Returns information about the player's specializations. (added 5.0.4)
GetSpecializationInfoByID(specID) - Returns information about the specialization ID. (added 5.0.4)
GetSpecializationRole(specIndex[, isInspect[, isPet]) - Returns the role a specialization is intended to perform. (added 5.0.4)

Talent[edit]

BuyTrainerService(index) - Used for buying new/upgrading professions, profession items and class skills.
CheckTalentMasterDist() - Returns nil if the player is too far away from the talent master to use the talent methods.
ConfirmTalentWipe() - Confirms freeing all talent points.
GetNumTalents(tabIndex) - return number of talents in tree.
GetTalentInfo(tabIndex,talentIndex[,inspect][,isPet][,groupIndex]) - return name, iconTexture, tier, column, rank, maxRank, isExceptional, meetsPrereq. (added 'inspect' 2.3)(added 'isPet' 2.3)(added 'groupIndex' 3.1.0)
GetTalentLink(tabIndex,talentIndex[,isInspect][,isPet][,groupIndex][, isPreview]) - Returns the talent link. (added 2.4) [,isInspect][,isPet] (added 3.0.1)(added 'groupIndex' 3.1.0)(added 'isPreview' 3.1.0)
GetTalentPrereqs(tabIndex,talentIndex[, inspect][, groupIndex]) - return tier, column, isLearnable. (added 'inspect' 2.3)(added 'groupIndex' 3.1)
LearnTalent(tabIndex,talentIndex) - Learns a talent from the talent tree.

Talent points preview, assignment before spending, was added in 3.1.0:

AddPreviewTalentPoints(tabIndex, talentIndex, points[, isPet[, groupIndex]]) - Add talent points to the previewed talent build.
GetGroupPreviewTalentPointsSpent(isPet[, groupIndex]) - Returns the total number of points spent in a spec.
GetPreviewTalentPointsSpent(tabIndex, isPet [,groupIndex]) - Returns the number of points spent.
REMOVED GetUnspentTalentPoints([isInspect [,isPet)]] - Returns the number of unspent talent points. (removed 5.0.4)
LearnPreviewTalents(isPet) - Learns currently previewed talents.
ResetGroupPreviewTalentPoints(isPet[,groupIndex]) - Unassigns all preview talent points.
ResetPreviewTalentPoints(tabIndex, isPet [,groupIndex]) - Unassigns preview talent points in a specific tab.

Targeting[edit]

PROTECTED AssistUnit("unit") - Instructs your character to assist the specified unit.
PROTECTED AttackTarget() - Attacks the targetted unit.
PROTECTED ClearTarget() - Clears the selected target.
ClickTargetTradeButton(index)
PROTECTED TargetLastEnemy() - Selects the last targetted enemy as the current target.
PROTECTED TargetLastTarget() - Selects the last target as the current target.
PROTECTED TargetNearestEnemy([reverseFlag]) - Selects the nearest enemy as the current target.
PROTECTED TargetNearestEnemyPlayer([reverseFlag]) - Selects the nearest enemy player as the current target.
PROTECTED TargetNearestFriend([reverseFlag]) - Selects the nearest friendly unit as the current target.
PROTECTED TargetNearestFriendPlayer([reverseFlag]) - Selects the nearest friendly player as the current target.
PROTECTED TargetNearestPartyMember() - Selects the nearest Party member as the current target.
PROTECTED TargetNearestRaidMember() - Selects the nearest Raid member as the current target.
PROTECTED TargetUnit("unit") - Selects the specified unit as the current target.

Taxi[edit]

CloseTaxiMap() - Closes the Flightpath Map.
DrawRouteLine(texture, canvas, startx, starty, endx, endy, width, relPoint) - Draws a line.
GetNumRoutes(slot) - Gets the number of hops between current-slot and slot.
NumTaxiNodes() - Returns the number of nodes (flight paths) on an open taxi map.
SetTaxiMap(frame)
TakeTaxiNode(slot) - Takes the named taxi node.
TaxiNodeCost(slot) - Returns the cost in copper of a node.
TaxiNodeGetType(slot) - Returns the status of a node.
TaxiGetSrcX(slot, hop)
TaxiGetSrcY(slot, hop)
TaxiGetDestX(slot, hop)
TaxiGetDestY(slot, hop)
TaxiNodeSetCurrent(slot) - Renumbers slots based on new current slot.
TaxiNodeName(slot) - Returns the name of a node.
TaxiNodePosition(slot) - Returns position (x,y) of node on the map.
UnitOnTaxi("unit") - Returns 1 if unit is on a taxi.

Toggle[edit]

UI ToggleBackpack() - Toggles your backpack open/closed.
UI ToggleBag(bagID) - Opens or closes the specified bag.
UI OpenAllBags - Open all bags
UI ToggleCharacter(index) - Toggles the character pane to the specified frame.
UI ToggleFramerate - Show/Hide the FPS.
UI ToggleFriendsFrame([tabNumber]) - Opens/closes the friends pane (possibly on a specific tab).
PROTECTED UI ToggleGameMenu - Opens/closes the game menu. Triggers protected functions.
UI ToggleHelpFrame - Opens the Help Request frame.
UI ToggleKeyRing - Opens/closes the key ring.
UI ToggleMinimap - Turns the minimap display on/off.
UI TogglePVPFrame - Opens/closes the PvP frame.
UI ToggleSpellBook("bookType") - Shows the spellbook. Can show your spells or your pet's.
UI ToggleTalentFrame - Opens the Talent frame.
UI ToggleAchievementFrame - Shows the achievements frame.

TradeSkill[edit]

CloseTradeSkill() - Closes an open trade skill window.
CollapseTradeSkillSubClass(index) - Collapses the specified subclass header row.
DoTradeSkill(index[, repeatTimes]) - Performs the tradeskill a specified # of times.
ExpandTradeSkillSubClass(index) - Expands the specified subclass header row.
GetFirstTradeSkill() - Returns the index of the first non-header trade skill entry.
GetNumTradeSkills() - Get the number of trade skill entries (including headers).
GetTradeSkillCooldown(index) - Returns the number of seconds left for a skill to cooldown.
GetTradeSkillDescription(index) - Returns the description text of the indicated trade skill.
GetTradeSkillIcon(index) - Returns the texture name of a tradeskill's icon.
GetTradeSkillInfo(index) - Retrieves information about a specific trade skill.
GetTradeSkillInvSlotFilter(slotIndex) - Returns 1 if items corresponding to slotIndex are currently visible, otherwise nil.
GetTradeSkillInvSlots() - Returns a list of the available inventory slot types.
GetTradeSkillItemLink(index) - Returns the itemLink for a trade skill item.
GetTradeSkillLine() - Returns information about the selected skill line.
GetTradeSkillListLink() - Returns the TradeSkillLink for a trade skill.
GetTradeSkillNumMade(index) - Gets the number of items made in a single use of a skill.
GetTradeSkillNumReagents(tradeSkillRecipeId) - Returns the number of different reagents required.
GetTradeSkillReagentInfo(tradeSkillRecipeId, reagentId) - Returns data on the reagent, including a count of the player's inventory.
GetTradeSkillReagentItemLink(index, reagentId) - Returns the itemLink for one of the reagents needed to craft the given item
GetTradeSkillRecipeLink(index) - Returns the EnchantLink for a trade skill.
GetTradeSkillSelectionIndex() - Returns the Id of the currently selected trade skill, 0 if none selected.
GetTradeSkillSubClassFilter(filterIndex) - Returns 1 if items corresponding to filterIndex are currently visible, otherwise nil.
GetTradeSkillSubClasses() - Returns a list of the valid subclasses.
GetTradeSkillTools(index) - Returns information about the tools needed for a tradeskill.
GetTradeskillRepeatCount() - Returns the number of times the current item is being crafted.
IsTradeskillTrainer() - Returns 1 if trainer is for a tradeskill.
IsTradeSkillLinked() - Returns true if you're inspecting a tradeskill link rather then looking at your own tradeskills
SelectTradeSkill(index) - Select a specific trade skill in the list.
SetTradeSkillInvSlotFilter(slotIndex, onOff[, exclusive] ) - Set the inventory slot type filter.
SetTradeSkillSubClassFilter(slotIndex, onOff[, exclusive] ) - Set the subclass filter.
StopTradeSkillRepeat() - Stops creating additional queued items.
TradeSkillOnlyShowMakeable(onlyMakable) - Controls whether only recipes you have the reagents to craft are shown.

Tracking[edit]

GetNumTrackingTypes() - Returns number of available tracking methods.
GetTrackingInfo(id) - Retrieves tracking information from specified id.
SetTracking(id) - Selects a tracking method.

Trading[edit]

HW AcceptTrade() - A pending trade will be accepted.
AddTradeMoney() - Adds the money dropped into the player's trade frame.
CancelTrade() - Declines the offer to trade with the other player.
CancelTradeAccept() - Cancels the trade attempt which required an accept.
ClickTargetTradeButton(index)
ClickTradeButton(index) - Equivalent of a mouseclick on the trade window buttons [1-7]
CloseTrade() - Closes the trade.
GetPlayerTradeMoney - Returns the amount of money the player has in the trade window.
GetTargetTradeMoney - Returns the amount of money in the trade frame of the target player.
GetTradePlayerItemInfo(id) - Returns information about a trade item.
GetTradePlayerItemLink(id) - Returns an itemLink for the given item on your side of the trade window, if open.
GetTradeTargetItemInfo(id) - Returns information about a trade item.
GetTradeTargetItemLink(id) - Returns an itemLink for the given item on the other player's side of the trade window, if open.
InitiateTrade(UnitId) - Asks the specified unit to trade.
PickupPlayerMoney(copper) - Picks up an amount of money from the player.
PickupTradeMoney(copper) - Picks up an amount of money from the player's trade offer.
SetTradeMoney(copper) - Sets the amount of money offered as part of the player's trade offer.
ReplaceTradeEnchant() - Confirm the replacement of an enchantment via trade.

Training[edit]

BuyTrainerService(index) - Used for buying new/upgrading professions, profession items and class skills.
CloseTrainer() - Closes the trainer window.
GetNumTrainerServices() - Get the number of the trainer services.
GetTrainerGreetingText() - Get the trainer's greeting text.
GetTrainerSelectionIndex() - Get the index of the selected trainer service.
GetTrainerServiceAbilityReq(trainerIndex,reqIndex) - Used for displaying the requirements to learn a new profession, profession skill or class skill.
GetTrainerServiceCost(index) - Returns the cost of a specific trainer service.
GetTrainerServiceDescription(index) - Returns the description of a specific trainer service.
GetTrainerServiceIcon(index) - Returns icon texture for a trainer service.
GetTrainerServiceInfo(index) - Returns information about a trainer service.
GetTrainerServiceItemLink(index) - Returns an item link for a trainer service.
GetTrainerServiceLevelReq(index) - Get the required level to learn the skill.
GetTrainerServiceNumAbilityReq - Get the maximum number of requirements that #GetTrainerServiceAbilityReq() has.
GetTrainerServiceSkillLine(index)
GetTrainerServiceSkillReq(index) - Returns a String and Variable for the requirements of a specific trainer service.
GetTrainerServiceTypeFilter("filter") - Returns the status of a skill filter in the trainer window.
IsTradeskillTrainer() - Returns 1 if trainer is for a tradeskill.
OpenTrainer()
SelectTrainerService()
SetTrainerServiceTypeFilter("filter",state) - Sets the status of a skill filter in the trainer window.

Unit[edit]

These are functions which act on one or more units. Units are identified by UnitIds.

PROTECTED AssistUnit("unit") - Instructs your character to assist the specified unit.
CheckInteractDistance("unit",distIndex)
DropItemOnUnit("unit") - Drops an item from the cursor onto a unit.
FollowUnit("unit") - Follow an ally with the specified UnitID
PROTECTED FocusUnit("unit") - Sets your unit for focus. (protected 2.0)
PROTECTED ClearFocus() - Removes any focus you may have set.
UI GetUnitName("unit", showServerName) - Returns a string with the unit's name and realm name if applicable.
GetUnitPitch("unit") - Returns the moving pitch of the unit. (added 3.0.2)
GetUnitSpeed("unit") - Returns the moving speed of the unit. (added 3.0.2)
InviteUnit("name" or "unit") - Invites the specified player to the group you are currently in (added 2.0)
IsUnitOnQuest(questIndex, "unit") - Determine if the specified unit is on the given quest.
SpellCanTargetUnit("unit") - Returns true if the spell awaiting target selection can be cast on the specified unit.
PROTECTED SpellTargetUnit("unit") - Casts the spell awaiting target selection on the specified unit.
PROTECTED TargetUnit("unit") - Selects the specified unit as the current target. (protected 2.0)
UnitAffectingCombat("unit") - Determine if the unit is in combat or has aggro. returns nil if "false" and 1 if "true".
UnitArmor("unit") - Returns the armor statistics relevant to the specified unit.
UnitAttackBothHands("unit") - Returns information about the unit's melee attacks.
UnitAttackPower("unit") - Returns the unit's melee attack power and modifiers.
UnitAttackSpeed("unit") - Returns the unit's melee attack speed for each hand.
UnitAura("unit", index [, filter]) - Returns info about buffs and debuffs of a unit.
UnitBuff("unit", index [,raidFilter]) - Retrieves info about a buff of a certain unit. (updated 2.0)
UnitCanAssist("unit", "otherUnit") - Indicates whether the first unit can assist the second unit.
UnitCanAttack("unit", "otherUnit") - Returns true if the first unit can attack the second, false otherwise.
UnitCanCooperate("unit", "otherUnit") - Returns true if the first unit can cooperate with the second, false otherwise.
UnitClass("unit") - Returns the class name of the specified unit (e.g., "Warrior" or "Shaman").
UnitClassification("unit") - Returns the classification of the specified unit (e.g., "elite" or "worldboss").
UnitCreatureFamily("unit") - Returns the type of creature of the specified unit (e.g., "Crab").
UnitCreatureType("unit") - Returns the classification type of creature of the specified unit (e.g., "Beast").
UnitDamage("unit") - Returns the damage statistics relevant to the specified unit.
UnitDebuff("unit", index [,raidFilter]) - Retrieves info about a debuff of a certain unit. (updated 2.0)
UnitDefense("unit") - Returns the base defense skill of the specified unit.
UnitDetailedThreatSituation("unit", "mob") - Returns detailed information about the specified unit's threat on a mob. (added 3.0)
UnitExists("unit") - Returns 1 if the specified unit exists, nil otherwise.
UnitFactionGroup("unit") - Returns the faction group id and name of the specified unit. (eg. "Alliance") - string returned is localization-independent (used in filepath)
UnitGroupRolesAssigned("unit") - Returns the assigned role in a group formed via the Dungeon Finder Tool. (added 3.3)
UnitGUID("unit") - Returns the GUID as a string for the specified unit matching the GUIDs used by the new combat logs. (added 2.4)
GetPlayerInfoByGUID("guid") - returns race, class, sex about the guid. client must have seen the guid. (added 3.2)
UnitHasLFGDeserter("unit") - Returns whether the unit is currently unable to use the dungeon finder due to leaving a group prematurely. (added 3.3.3)
UnitHasLFGRandomCooldown("unit") - Returns whether the unit is currently under the effects of the random dungeon cooldown. (added 3.3.3)
UnitHasRelicSlot("unit")
UnitHealth("unit") - Returns the current health, in points, of the specified unit.
UnitHealthMax("unit") - Returns the maximum health, in points, of the specified unit.
UnitInParty("unit") - Returns true if the unit is a member of your party.
UnitInRaid("unit") - Returns the unit index if the unit is in your raid/battlegroud, nil otherwise.
UnitInBattleground("unit") - Returns the unit index if the unit is in your battleground, nil otherwise.
UnitIsInMyGuild("unit") - Returns whether the specified unit is in the same guild as the player's character.
UnitInRange("unit") - Returns true if the unit (party or raid only) is in range of a typical spell such as flash heal. (added 2.4))
UnitIsAFK("unit") - Only works for friendly units.
UnitIsCharmed("unit") - Returns true if the specified unit is charmed, false otherwise.
UnitIsConnected("unit") - Returns 1 if the specified unit is connected or npc, nil if offline or not a valid unit.
UnitIsCorpse("unit") - Returns true if the specified unit is a corpse, false otherwise.
UnitIsDead("unit") - Returns true if the specified unit is dead, nil otherwise.
UnitIsDeadOrGhost("unit") - Returns true if the specified unit is dead or a ghost, nil otherwise.
UnitIsDND("unit") - Only works for friendly units.
UnitIsEnemy("unit", "otherUnit") - Returns true if the specified units are enemies, false otherwise.
UnitIsFeignDeath("unit") - Returns true if the specified unit (must be a member of your group) is feigning death. (added 2.1)
UnitIsFriend("unit", "otherUnit") - Returns true if the specified units are friends (PC of same faction or friendly NPC), false otherwise.
UnitIsGhost("unit") - Returns true if the specified unit is a ghost, false otherwise.
UnitIsPVP("unit") - Returns true if the specified unit is flagged for PVP, false otherwise.
UnitIsPVPFreeForAll("unit") - Returns true if the specified unit is flagged for free-for-all PVP, false otherwise.
UnitIsPVPSanctuary("unit") - Returns whether the unit is in a PvP sanctuary, and therefore cannot be attacked by other players.
UnitIsPlayer("unit") - Returns true if the specified unit is a player character, false otherwise.
UnitIsPossessed("unit") - Returns whether the specified unit is currently under control of another (i.e. "pet" when casting Mind Control).
UnitIsSameServer("unit", "otherUnit") - Returns whether the specified units are from the same server.
UnitIsTapped("unit") - Returns true if the specified unit is tapped, false otherwise.
UnitIsTappedByPlayer("unit") - Returns true if the specified unit is tapped by the player himself, otherwise false.
UnitIsTappedByAllThreatList("unit") - Returns whether the specified unit is a community monster, i.e. whether all players engaged in combat with it will receive kill (quest) credit.
UnitIsTrivial("unit") - Returns true if the specified unit is trivial (Trivial means the unit is "grey" to the player. false otherwise.
UnitIsUnit("unit", "otherUnit") - Determine if two units are the same unit.
UnitIsVisible("unit") - 1 if visible, nil if not
UnitLevel("unit") - Returns the level of a unit.
UnitMana("unit") - Returns the current mana (or energy,rage,etc), in points, of the specified unit. (replaced by 'UnitPower' 3.0.2)
UnitManaMax("unit") - Returns the maximum mana (or energy,rage,etc), in points, of the specified unit. (replaced by 'UnitPowerMax' 3.0.2)
UnitName("unit") - Returns the name (and realm name) of a unit.
UnitOnTaxi("unit") - Returns 1 if unit is on a taxi.
UnitPlayerControlled("unit") - Returns true if the specified unit is controlled by a player, false otherwise.
UnitPlayerOrPetInParty("unit") - Returns 1 if the specified unit/pet is a member of the player's party, nil otherwise (returns nil for "player" and "pet") (added 1.12)
UnitPlayerOrPetInRaid("unit") - Returns 1 if the specified unit/pet is a member of the player's raid, nil otherwise (returns nil for "player" and "pet") (added 1.12)
UnitPVPName("unit") - Returns unit's name with PvP rank prefix (e.g., "Corporal Allianceguy").
UnitPVPRank("unit") - Get PvP rank information for requested unit.
UnitPower("unit"[,type]) - Returns current power of the specified unit. (replaced 'UnitMana' 3.0.2)
UnitPowerMax("unit"[,type]) - Returns max power of the specified unit. (replaced 'UnitManaMax' 3.0.2)
UnitPowerType("unit") - Returns a number corresponding to the power type (e.g., mana, rage or energy) of the specified unit.
UnitRace("unit") - Returns the race name of the specified unit (e.g., "Human" or "Troll").
UnitRangedAttack("unit") - Returns the ranged attack number of the unit.
UnitRangedAttackPower("unit") - Returns the ranged attack power of the unit.
UnitRangedDamage("unit") - Returns the ranged attack speed and damage of the unit.
UnitReaction("unit", "otherUnit") - Returns a number corresponding to the reaction (aggressive, neutral or friendly) of the first unit towards the second unit.
UnitResistance("unit", "resistanceIndex") - Returns the resistance statistics relevant to the specified unit and resistance type.
UnitSelectionColor(UnitId) - Returns RGBA values for the color of a unit's name.
UnitSex("unit") - Returns a code indicating the gender of the specified unit, if known. (1=unknown, 2=male, 3=female) (updated 1.11)
UnitStat("unit", statIndex) - Returns the statistics relevant to the specified unit and basic attribute (e.g., strength or intellect).
UnitThreatSituation("unit", "mob") - Returns the specified unit's threat status on a mob. (added 3.0)
UnitUsingVehicle("unit") - Returns whether the specified unit is currently using a vehicle (including transitioning between seats).
GetThreatStatusColor(status) - Returns RGB values for a given UnitThreatSituation return value.
UnitXP("unit") - Returns the number of experience points the specified unit has in their current level. (only works on your player)
UnitXPMax("unit") - Returns the number of experience points the specified unit needs to reach their next level. (only works on your player)
SetPortraitTexture(texture,"unit") - Paint a Texture object with the specified unit's portrait.
SetPortraitToTexture(texture or "texture", "texturePath") - Sets the texture to be displayed from a file applying a circular opacity mask making it look round like portraits.

Vehicle[edit]

These functions were added in Patch 3.0.2.

CanExitVehicle() - Returns 1 if the player can be exit the Vehicle.
CanSwitchVehicleSeats() - Returns 1 if the player can Switch Seats in the Vehicle
CanEjectPassengerFromSeat(seat) - Returns 1 if the player can eject a passenger from a seat.
GetBattlefieldVehicleInfo(index)
GetNumBattlefieldVehicles(index)
EjectPassengerFromSeat(seat) - Ejects a passenger from a seat.
IsUsingVehicleControls()
IsUsingVehicleControls()
IsVehicleAimAngleAdjustable() - Returns 1 if the player can adjust the Aim Angle of the Vehicle.
IsVehicleAimPowerAdjustable() - Returns 1 if the player can adjust the Aim Power of the Vehicle.
UnitControllingVehicle(unit)
UnitHasVehicleUI(unit)
UnitInVehicle(unit)
UnitInVehicleControlSeat(unit)
UnitSwitchToVehicleSeat(unit, seatId)
UnitTargetsVehicleInRaidUI(unit)
UnitVehicleSeatCount(unit)
UnitVehicleSeatInfo(unit, seatId)
UnitVehicleSkin(unit)
VehicleAimDecrement()
VehicleAimDownStart()
VehicleAimDownStop()
VehicleAimGetAngle()
VehicleAimGetNormAngle()
VehicleAimGetNormPower()
VehicleAimIncrement()
VehicleAimRequestAngle()
VehicleAimRequestNormAngle()
VehicleAimSetNormPower()
VehicleAimUpStart()
VehicleAimUpStop()
VehicleCameraZoomIn(amount)
VehicleCameraZoomOut(amount)
VehicleExit() - Exit the current Vehicle
VehicleNextSeat()
VehiclePrevSeat()

Voice Chat[edit]

These functions were added in Patch 2.2.

AddMute("name")
AddOrDelMute("unit")
ChannelSilenceAll()
ChannelSilenceVoice()
ChannelUnSilenceAll()
ChannelUnSilenceVoice()
ChannelVoiceOff()
ChannelVoiceOn()
DelMute("name")
DisplayChannelVoiceOff()
DisplayChannelVoiceOn()
GetActiveVoiceChannel()
GetChannelDisplayInfo(id) - Returns the name of the channel according to the given id.
GetNumVoiceSessions - Returns the number of voice sessions the client is currently in. Ignores those under the 'World' category.
GetSelectedDisplayChannel()
GetSelectedMute()
GetMuteName(id) - Returns the name of a muted player.
GetMuteStatus("unit", "channel") - Returns whether a particular unit is currently muted in a particular channel.
GetNumMutes() - Returns the number of people you currently have muted.
GetVoiceCurrentSessionID()
GetVoiceSessionInfo(id) - Returns the name of the voice session according to the given id. Does not apply for channels under the 'World' category.
GetVoiceStatus("unit")
IsMuted("name")
IsSilenced()
IsVoiceChatAllowed - Returns 1 if Voice Chat is enabled on the server, nil otherwise
IsVoiceChatEnabled - Returns 1 if Voice Chat is enabled for your client, nil otherwise
SetActiveVoiceChannelBySessionID - Set the active voice session to the session of the given id.
SetActiveVoiceChannel()
SetSelectedDisplayChannel()
SetSelectedMute()
UnitIsSilenced()
UnitIsTalking()
UnSilenceMember()
VoiceChat_ActivatePrimaryCaptureCallback()
VoiceChat_GetCurrentMicrophoneSignalLevel()
VoiceChat_IsPlayingLoopbackSound()
VoiceChat_IsRecordingLoopbackSound()
VoiceChat_PlayLoopbackSound()
VoiceChat_RecordLoopbackSound()
VoiceChat_StartCapture()
VoiceChat_StopCapture()
VoiceChat_StopPlayingLoopbackSound()
VoiceChat_StopRecordingLoopbackSound()
VoiceEnumerateCaptureDevices()
VoiceEnumerateOutputDevices()
VoiceGetCurrentCaptureDevice()
VoiceGetCurrentOutputDevice()
VoiceIsDisabledByClient()
VoicePushToTalkStart()
VoicePushToTalkStop()
VoiceSelectCaptureDevice()
VoiceSelectOutputDevice()

World Battlefield[edit]

The following functions are used for population-limited world PvP zones, primarily Lake Wintergrasp.

BattlefieldMgrEntryInviteResponse(queueId, accept)
BattlefieldMgrExitRequest(queueId)
BattlefieldMgrQueueInviteResponse(queueId, accept)
BattlefieldMgrQueueRequest
CanHearthAndResurrectFromArea() - Returns whether you can currently be resurrected and teleported out of the world PvP zone.
HearthAndResurrectFromArea() - Resurrects the player and ports them out of world PvP zone.
CanQueueForWintergrasp() - Returns whether you can queue for Lake Wintergrasp at the moment.
GetWintergraspWaitTime() - Returns number of seconds before the next Lake Wintergrasp battle, nil if a battle is currently in progress.
GetWorldPVPQueueStatus(queueId)

Who[edit]

GetNumWhoResults() - Return the number of entries resulting from your most recent /who query.
GetWhoInfo(index)
SendWho("filter") - Send a who request to the server.
SetWhoToUI(toUIFlag) - 'who' request results should be sent as WHO_LIST_UPDATE instead of to chat.
SortWho(sortType) - Sorts an existing /who list; displays the Who List frame if not visible.

See also[edit]

  • API change summaries document changes made in WoW patches, as summarized on the US official UI forum.
  • Battle.net API previously known as the Community Web Platform API or Web API, for web API access. Info on functions to interact with Blizzard web sites, not in-game.
  • Widget API documents other general Lua methods that can be called on widget objects.
  • XML UI documents the Ui XML interface, and includes other documentation relating to FrameXML and GlueXML.
  • WoW Lua describe the Lua language and library functions available in the WoW client.
  • AddOn is the main reference for WoW AddOn development.
  • User Defined Functions lists various useful user-contributed functions.

External links[edit]

Discussion:

News: