API GetContainerItemLink

Returns the ItemLink of the item located in bagID and slotID.

ItemLink = GetContainerItemLink(bagID, slotID)

Arguments

 * bagID, slotID


 * bagID : Numeric - The number of the bag. Valid bags are -2 - 11. 0 is the backpack.
 * slotID : Numeric - The slot of the specified bag. Valid slotID's are 1 through BagSize. 1 is the left slot in the top row.

Returns

 * ItemLink


 * ItemLink : Returns the ItemLink (The item link is the link when you shift-click an item while the chat edit box is visible). Returns nil if the slot of the specified bag is empty. Example link returned: |Hitem:6948:0:0:0:0:0:0:0|h[Hearthstone]|h . To use this link in other functions that require an ItemLink, you have to strip out the extra chat link information. Ex: item:6948:0:0:0:0:0:0:0

Example
function UseContainerItemByName(search) for bag = 0,4 do    for slot = 1,GetContainerNumSlots(bag) do       local item = GetContainerItemLink(bag,slot) if item and item:find(search) then UseContainerItem(bag,slot) end end end end

Result
Searches through your bags and uses the first item found that contains the provided string in its name.

Example
/run link=GetContainerItemLink(0,1);printable=gsub(link, "\124", "\124\124");ChatFrame1:AddMessage("Here's the item code for item in Bag slot 0,1: \"" .. printable .. "\"");

Result
Returns the ItemLink of the item located in bag 0, slot 1.

Example
/run _,_,itemLink=string.find(GetContainerItemLink(0,1),"(item:%d+)"); message(itemLink);

Result
Returns the abbreviated ItemLink of the item located in bag 0, slot 1 (itemId only, useful for macros like "/use item:31339").

for .. do

 * Look for the 'for .. do' block at the Reference Manual.

GetContainerNumSlots(bagID)

 * GetContainerNumSlots(bagID) - Gives you the number of slots available in the bag specified by the index.

UseContainerItem(bagID,slotID)

 * UseContainerItem(bagID,slot) - Uses an item located in bagID and slotID.
 * Bad example. UseContainerItem is protected these days. -- Mikk (T) 06:20, 26 May 2007 (UTC)

string.find(string,pattern{,init{,plain}})

 * strfind(string,pattern{,init{,plain}}) - Look for match of pattern in string, optionally from specific location or using plain substring.