Download
(11 Kb)
Download
Updated: 04/17/24 10:14 AM
Pictures
File Info
Compatibility:
Scions of Ithelia (9.3.0)
Updated:04/17/24 10:14 AM
Created:04/04/23 07:09 PM
Monthly downloads:240
Total downloads:2,119
Favorites:2
MD5:
9.3.0
Auto Kick
Version: 2.2
by: peniku8 [More]
Auto Kick:

The final puzzle piece for guild automation:
If you're already familiar with my addon "Auto Ranks", then the name "Auto Kick" should be self-explanatory. It does exactly what its name suggests: it automatically removes players from guilds depending on their sales and/or donations.


All functions and code regarding Shissu integration have been removed in version 2.2, including the history scanner itself and the data migration functions.
Important for new users of LibHistoire:
Once you scanned all available history data (by opening all guild history pages) and the bars are all green, run the following command to set join dates of users that have no recorded join date to 'one year ago':
Code:
/ak fixjoindates

My addons ignore players without a valid join date as a safety feature for players that just joined, so this function needs to be run *once* all other data has been imported. This function can also be used to fix the join date for somebody who changed their user ID. Using it won't affect existing records.


Main functions:
- Remove guild members based on their MM or ATT sales
- Remove guild members based on their AMT or ITT donations
- Remove guild members based on their offline time
- Send automated mails with every removal
- Process all of your guilds at once with different settings for each
- Kicking is a two step process giving you the opportunity to double check the players AutoKick is about to remove to eventually correct/change your settings
Features:
Kicking:
- Independently customizable time frames for sales, donations (per guild) and offline times (per rank)
- "Make List" will list every player below the set requirements
- "Make Specific List" will list (replacing the previous list) the worst performing x amount of members, in relation to the sales and donation requirements set
- "Process List" will remove every player on the current list
- When the amount of players with "0" stats is higher than the "Make Specific List" amount, all players with 0 stats will be listed instead
- "Make Specific List" will list the x amount of worst performing players, regardless of the donation and sales requirements you specificed. If you don't want to kick players that actually met the requirements, enable "Don't kick above requirements"
- Automatically excludes ranks and members with administrative guild permissions
- Option to exclude members with a note on their name or with a specific keyword in their note
- Chat notifications for every action (optional)
- New member rank option: don't kick anybody who joined only recently
- Dynamically adjusts (lowers) requirements for new members
- Track last donation: calculates a "this week" donation from the last donation in the logs
(- The current week donation will be calculated with the foruma: 7/DaysAgo * donation; Example: 20k donation 14 days ago->current donation=10k)
- Send mails to every kicked member
- Send an alternative mail to one selected rank
- Add a member's sales&donations stats and their offline time to every message
- Have a "Lifetime" rank, but you remove inactive players from it, that get their rank back when they return?
Then use the 'Remember player rank' function to save all players that were removed from a certain rank to a list. Auto Ranks now has a function to promote these members back to their original rank, once they return.
- Check the list of players to be kicked with
Code:
/ak list
and remove people from that list with
Code:
/ak @player
to have full control over who is kicked
- Fully integrated into "Automate"

Addon Behavior:
- When multiple requirements (sales, donations, offline time) are specified for a single rank, a player is only kicked if they fail to meet all of the active requirements
- When no requirements are set, nobody is kicked (everything=0 or left empty)
- When both MM and ATT are active, the higher stats are prefered
- In the same way, the higher donation stat for SGT/AMT/ITT is used
- The addon handles one removal every 1.6 seconds, unless no messages are being sent out, then it handles 50 kicks per second

- More info on how to fill in the numbers is given via tooltips
- I'd advise to enable 'Don't kick above requirements' when you're using the offline time threshold anywhere.
- You need to reload your UI to update the message previews (limitation of libAddonMenu)
- Pictures here show how I have it set up for my guild Pact Veteran Trade as guideline
- I'd advise to reset your addon settings when you change your ranking structure, the order of your guilds or the language of your client.
Dependencies:
-LibAddonMenu-2.0
-Master Merchant or Arkadius' Trade Tools
-Advanced Member Tooltip - LibHistoire or the two following:
-ITTs Donation Bot
-ITTs Roster Bot
Known issues:
-AMT currently does *not* track any donations past 30 days, however this feature will likely be added soon
2.2
-Removed all legacy code for Shissu integration
-Removed all conversion functions to import old Shissu data
-Fixed the custom time frame option when both ATT and MM are in use

2.1.1
-Fixed the "/ak exclude" slash command

2.1
-Added support for ITT donation&roster bot addons
-changed the slash functions and added the same conversion functions that have been added to Auto Ranks recently
-removed dependencies for Auto Ranks, AMT and SGT, so you can run whatever you like in any combination
-optimized the 'Make specific list' approximation algorithm to work better on edge cases

2.0
-Integrated "Advanced Member Tooltip - LibHistoire" as join date and donation tracker addon
-Optimized some code

1.5.11
-API bump

1.5.10
-API bump

1.5.9
-Improved chat notifications and info given
-Fixed an issue that could rarely lead to players being kicked above the requirements, despite 'don't kick above requirements' being enabled

1.5.8
-Settings for guilds from which you can't kick members are now hidden
-Minor code optimizations
-Improved ShissuHistoryScanner's refresh

1.5.7
-Added a check if the current AutoRanks with the upgraded SHS is installed and active

1.5.6
-Updated ShissuHistoryScanner to reset the join date if a guild member leaves or gets kicked (part of AutoRanks; if you don't update AutoRanks, AutoKick will break!)
-Updated AutoKick to trigger ShissuHistoryScanner for a fresh scan before processing removals

1.5.5
-Added the /akexclude command to manually remove players from the "to be kicked" list
-Fixed an issue that wouldn't reset the list of players that couldn't be messaged, which could lead to double mentions
-Minor code optimizations
-Minor tooltip optimizations

1.5.4
-Added an option to save kicked players from a certain rank to a list
(this will later be a feature in Auto Ranks, which can detect previous ranks of a player who was kicked and restore their rank. I use this for lifetime members for example, which are kicked are a month of inactivity, but get their rank back once they come back)

1.5.3
-Automatically shows the chat now, when messages are posted

1.5.2
-Fixed the 'requirements factor' to now display the correct values
(for example: if 20 players are below a sales requirement of 100k, but you specify to kick 10, it'll lower the requirements until there are only 10 players to kick. the value it shows, for example 0.6, is the factor it multiplied the requirements with, which in this case means, it lowered the sales requirement to 60k)
-Added the 'offline time' to the dynamic behavior of 'make specific list'
(for example: if you want to kick 10 members, but more than that have been offline for longer than the threshold, it will find the 10 members with the longest offline time now)
-Changed the behavior of 'make specific list' to select random players of that amount, when more than the specified amount have sales&donations of zero

1.5.1
-Fixed an issue that would lead to default rank names to be shown as blank

1.5.0
-Added dynamic message features to insert sales, donations and offline time stats to mails
-Added a second, alternative mail to send to players from a selected rank only
-Added a feature to list failed message reasons (e.g. player XY ignores you)
-Changed the description of the 'Make List' button to make it clear that it also functions as a 'Cancel' button

1.4.0
-Added the "Note keyword" function, similar to the one in Auto Ranks
-Added an offline time slider to every rank, to kick afk players
-Added a check if MM is initialized before attempting to do any kicking
-Fixed an issue where negative numbers could cause the addon to list everyone as below the requirement
-Various small improvements

1.3.12
-Fixed the "Note immunity" setting not appearing in the settings menu

1.3.12
-Fixed the website link

1.3.11
-Public release
Archived Files (20)
File Name
Version
Size
Uploader
Date
2.1.1
12kB
peniku8
04/07/24 04:11 PM
2.1
12kB
peniku8
03/23/24 07:31 PM
2.0
10kB
peniku8
03/14/24 02:53 PM
1.5.11
10kB
peniku8
10/31/23 01:56 PM
1.5.10
10kB
peniku8
06/28/23 04:45 PM
1.5.9
10kB
peniku8
05/02/23 08:11 AM
1.5.8
9kB
peniku8
05/01/23 05:35 PM
1.5.8
9kB
peniku8
05/01/23 05:19 PM
1.5.7
10kB
peniku8
04/30/23 09:19 AM
1.5.6
10kB
peniku8
04/27/23 09:14 PM
1.5.5
9kB
peniku8
04/26/23 05:52 AM
1.5.4
9kB
peniku8
04/23/23 08:39 PM
1.5.3
9kB
peniku8
04/23/23 10:26 AM
1.5.2
9kB
peniku8
04/20/23 06:50 PM
1.5.1
9kB
peniku8
04/17/23 05:45 PM
1.5.0
9kB
peniku8
04/16/23 06:22 PM
1.4.0
8kB
peniku8
04/12/23 06:29 PM
1.3.13
7kB
peniku8
04/11/23 03:53 PM
1.3.12
7kB
peniku8
04/09/23 08:39 AM
1.3.11
7kB
04/04/23 07:09 PM


Post A Reply Comment Options
Unread 03/22/24, 03:30 PM  
Arglgargl

Forum posts: 0
File comments: 5
Uploads: 0
Re: Re: Not all members found for kick

Perfekt, thanks!
Report comment to moderator  
Reply With Quote
Unread 03/21/24, 06:10 PM  
peniku8
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 67
Uploads: 8
Re: Not all members found for kick

Originally Posted by Arglgargl
Hey Peniku,

exactly the addon that I was looking for!

However I had the small issue that some members did escape the kick-hammer
After some digging I found, that this concerns members with an unknown joining date to the guild, the variable 'memberSince' is 0 in that case.

Replacing line 813 in AutoKick.lua with this crude hack fixed the problem for me:
Code:
local memberSince = (now-joinDate)/86400
if( memberSince == nil or memberSince ~= memberSince or memberSince == 0 ) then
	memberSince = 1000
end
Cheers
Argl
Small little update: I implemented a function into Auto Ranks that can be used with the slash command
Code:
/ar fixjoindates
It will set all missing join dates to 'one year ago'. This way, the safety net for members that just joined can persist and the addons can work with members that have been in the guild for a long time. It will be added to Auto Kick soon too, in case you don't have/use Auto Ranks.
Report comment to moderator  
Reply With Quote
Unread 03/21/24, 05:08 PM  
peniku8
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 67
Uploads: 8
Re: Not all members found for kick

Originally Posted by Arglgargl
Hey Peniku,

exactly the addon that I was looking for!

However I had the small issue that some members did escape the kick-hammer
After some digging I found, that this concerns members with an unknown joining date to the guild, the variable 'memberSince' is 0 in that case.

Replacing line 813 in AutoKick.lua with this crude hack fixed the problem for me:
Code:
local memberSince = (now-joinDate)/86400
if( memberSince == nil or memberSince ~= memberSince or memberSince == 0 ) then
	memberSince = 1000
end
Cheers
Argl
This is a safety measure, because new members that have joined while AMT or ITT haven't refreshed yet will also show an unknown join date. Your "solution" will immediately kick newcomers that haven't had their join time read out yet.
This is not an issue for me, since all members have a join date, but it's a valid concern for new users, since you'll likely only have history for a few months back. I'll see what kind of solution I could implement to solve this issue.
Report comment to moderator  
Reply With Quote
Unread 03/21/24, 03:28 PM  
Arglgargl

Forum posts: 0
File comments: 5
Uploads: 0
Not all members found for kick

Hey Peniku,

exactly the addon that I was looking for!

However I had the small issue that some members did escape the kick-hammer
After some digging I found, that this concerns members with an unknown joining date to the guild, the variable 'memberSince' is 0 in that case.

Replacing line 813 in AutoKick.lua with this crude hack fixed the problem for me:
Code:
local memberSince = (now-joinDate)/86400
if( memberSince == nil or memberSince ~= memberSince or memberSince == 0 ) then
	memberSince = 1000
end
Cheers
Argl
Report comment to moderator  
Reply With Quote
Unread 03/14/24, 11:16 AM  
peniku8
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 67
Uploads: 8
Re: U41 update

Originally Posted by Eryss
Hi there,

This addon is now also broken because it still uses ShissuHistoryScanner.

Would it be possible to get an update seeing as Auto Ranks also got patched?
Yep, expect an update very soon!
Report comment to moderator  
Reply With Quote
Unread 03/14/24, 10:51 AM  
Eryss

Forum posts: 0
File comments: 2
Uploads: 0
U41 update

Hi there,

This addon is now also broken because it still uses ShissuHistoryScanner.

Would it be possible to get an update seeing as Auto Ranks also got patched?
Report comment to moderator  
Reply With Quote
Unread 05/07/23, 07:03 PM  
Randaras

Forum posts: 0
File comments: 9
Uploads: 0
Addon stopped working - Missing Shissu while having it activated.

Hello @Peniku8,

First of all thank you for these addons.

I have installed several of your addons but since recently they stopped working.


This because it says the following:




That while I have it installed(Through autoranks)




I'm not sure but the name for the shissuhistoryscanner seems to be different in the requirements and the addon name.

Please advice what to do and how to get it to work again,

Thank you.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: