vanilla-wow-addons – Rev 1
?pathlinks?
-- GuildSeen by Altariel
local VERSION = "1.8.0";
local RELEASEDATE = "October 13, 2005";
-- myAddons support variables
GuildSeenDetails = {
name = "GuildSeen",
description = "Adds a /seen command for looking up last online times of guild members.",
version = VERSION,
releaseDate = RELEASEDATE,
author = "Altariel",
email = "altariel@subpop.net",
website = "http://wow.subpop.net/",
category = MYADDONS_CATEGORY_GUILD,
frame = "GuildSeenFrame",
};
function GuildSeen_OnLoad()
SLASH_GUILDSEEN1 = "/seen";
SLASH_GUILDSEEN2 = "/gseen";
SlashCmdList["GUILDSEEN"] = GuildSeen_SlashCmd;
this:RegisterEvent("VARIABLES_LOADED");
if ( DEFAULT_CHAT_FRAME ) then
DEFAULT_CHAT_FRAME:AddMessage("GuildSeen " .. VERSION .. " loaded.");
end
GuildRoster();
end
function GuildSeen_OnEvent()
if(event == "VARIABLES_LOADED") then
-- Register the addon in myAddOns
if(myAddOnsFrame_Register) then
myAddOnsFrame_Register(GuildSeenDetails, nil);
end
end
end
function GuildSeen_SlashCmd(player)
if(player == "") then
DEFAULT_CHAT_FRAME:AddMessage("GuildSeen version " .. VERSION);
return;
end
-- Much of this code is inspired by CT_MailMod's Guild Roster parsing
local oldOffline = GuildFrameLFGButton:GetChecked();
SetGuildRosterShowOffline(1);
local numGuildMembers = GetNumGuildMembers();
if ( numGuildMembers > 0 ) then
for i=1, numGuildMembers do
name, rank, rankIndex, level, class, zone, group, note, officernote, online = GetGuildRosterInfo(i);
if ( strfind(strupper(name), strupper(player)) ) then
if ( online ) then
DEFAULT_CHAT_FRAME:AddMessage(name .. " is currently online.");
else
yearsOffline, monthsOffline, daysOffline, hoursOffline = GetGuildRosterLastOnline(i);
DEFAULT_CHAT_FRAME:AddMessage("Last seen " .. name .. ": " .. monthsOffline .. " months, " .. daysOffline .. " days, " .. hoursOffline .. " hours ago.");
end
end
end
end
-- Revert to old scanning
SetGuildRosterShowOffline(oldOffline);
end