Van32's InactivityWatch

Updates!

The latest version of InactivityWatch attempts to fix a potential UI taint issue, where when a popup message would show up, it could potenially taint the user's talents/glyphs frame

About

Ever looked for a way to keep track of inactive guild members in an easy way? Here's the answer for you... InactivityWatch is designed to help manage inactive guildies.

Depending on your settings, this addon can help you keep track of inactive members by demoting them to the lowest rank in your guild, or even removing them from your guild entirely. (An example of a more complicated setup would have InactivityWatch remove only inactive recruits, by disabling the 'inactive demote' threshold and setting only a ban threshold with banlowestonly turned on.)

On top of all that, you can use any custom flags you want. Just put a § (Use ALT+0167 on your keyboard if the symbol's not already there.) in their officer's note, followed by whatever letter/number/character you want, and it will do what you told it to do. (For instructions on how to set up a custom flag, just look inside the addon's FlagDef.lua) It comes with three built-in flags:

FlagDescription
§0The addon will completely ignore this player.
§fThe addon will force this player to the lowest rank
§U(Internal), This is set by the addon on anyone who uses it.

Slash Commands

Here's a quick rundown on how to set up "GRUpdate" (Short for GuildRosterUpdate, this is what it's called in the code). We'll call it that here, because it makes our slash command easier to remember.

The base command for GRUpdate is /gru. From there, we have this: (Optional arguments in [])

CommandArgumentsEffect
help(none)Show the ingame help
toggle(none)Turn GRUpdate on or off
testmode(none)Enables a mode where the addon will not make changes to the guild roster.
Think of it as a safe mode to try out your new settings, where it still reports changes, but doesn't actually make them. This is enabled the first time you run the addon.
banlowestonly(none)Toggles removal of the lowest-ranked members only.
time(none)Show how long until the next roster scan
threshold[-i|-b] daysChange the activity and inactivity thresholds.
Just entering the days will change the active threshold (-1 disables this feature. Default is 10 days)
Using -i will set the inactivity threshold. (-1 disables this feature. Default is 180 days [6 months])
Using -b will set the ban threshold. (-1 disables this feature. Disabled by default.)
timeoutmin|max mm:ssChange the time range that GRUpdate will try to use between updates. Changing this setting isn't recommended unless you understand how it works.
update(none)Force the addon to run a roster update. Please use sparingly, as this can cause high server, CPU and Memory load while updating larger rosters
stats(none)Count out and show the number of people who meet the criteria for activity and inactivity.
savedata(none)Toggle saving the last rank of demoted players.
debug(none)Toggle debug mode. (While in debug mode, changes are not made to the roster, only printed to chat, which makes it useful for testing new configs.)
This setting is not saved between sessions, and is set automatically for alpha builds of GRUpdate
chatframeframeAllows you to specify a frame where GRUpdate will print messages. (Frame must have AddMessage method, and name is case-sensitive)

Default Settings

Here's the exact default settings table copied right from the addon's source code. (This looks a lot nicer on Curseforge)

-- The default settings
-- Timeouts are defined first by minutes range, then seconds range. Not specific time periods.
-- EX. If you set MaxTimeout to 30:30, you'll never get a timeout like 20:45
local settingsDefault = {
	SV_Ver = "1",		--Settings Version (Change this to force a settings reset)
	Enabled = true,		-- Enabled
	SavePlayerData = true,	-- Save Player Data? If false, don't save the last ranks of players when demoting
	BanLowestOnly = true,	-- Ban the lowest-ranked players only.
	MinTimeout = {10,0},	-- The minimum timeout time between updates (10 minutes 0 seconds)
	MaxTimeout = {59,59},	-- The maximum timeout time between updates (59 minutes 59 seconds)
	Thresholds = {			-- The times the addon looks for in active members
		Active = 10,		-- Be active in the last X days to be restored
		Inactive = 180,		-- Be inactive for this long to be demoted.
		Ban = -1,			-- Be inactive for this long to be gkicked.
	},
	ChatFrame = "DEFAULT_CHAT_FRAME",	-- The chat frame where we print messages
	PlayerData = {},		-- Irrelavent, this stores the last ranks and names of players demoted.
}

WARNING

MISCONFIGURING THIS ADDON CAN HAVE DISASTROUS CONSEQUENCES ON YOUR GUILD. I CANNOT BE HELD RESPONSIBILE FOR ANY MISHAPS BECAUSE OF MISCONFIGURATION. BE SURE TO RUN THE ADDON IN TEST MODE IF YOU WISH TO TEST CHANGES. To run the addon in test mode, just type /gru testmode and hit enter. Once in test mode, the addon won't make changes to the guild, but will show you the changes it wanted to make.

Please Note

This addon is not designed for more than one person in a guild to run it... The results of having multiple people of the same guild using the addon haven't been tested, but due to the nature of the addon, could cause conflicts of interest between guild members and settings.

You must login to post a comment. Don't have an account? Register to get one!

Facts

Date created
Apr 28, 2012
Category
Last update
Feb 12, 2013
Development stage
Release
Language
  • enUS
License
Creative Commons Attribution-ShareAlike 3.0 Unported License
Curse link
Van32's InactivityWatch
Downloads
838
Recent files

Authors

Relationships

Embedded library
LibStub
LibVan32