diff --git a/Core/Commands/Group/GroupInvite.cs b/Core/Commands/Group/GroupInvite.cs index 9d119a8..1955b55 100644 --- a/Core/Commands/Group/GroupInvite.cs +++ b/Core/Commands/Group/GroupInvite.cs @@ -33,9 +33,9 @@ namespace BSB.Commands.Group { if (bot.MyGroups.ContainsKey(target_group) == true) { - if (bot.GetAllowGroupInvite(target_avatar, target_group) == true) + if (bot.GetAllowGroupInvite(target_avatar) == true) { - bot.GroupInviteLockoutArm(target_avatar,target_group); // enable 120 sec cooldown + bot.GroupInviteLockoutArm(target_avatar); // enable 120 sec cooldown ForRealGroupInvite(args, target_group, target_avatar); return true; } diff --git a/Core/bottypes/CommandsBot.cs b/Core/bottypes/CommandsBot.cs index 31d3f28..e62ba7d 100644 --- a/Core/bottypes/CommandsBot.cs +++ b/Core/bottypes/CommandsBot.cs @@ -88,7 +88,7 @@ namespace BSB.bottypes protected Dictionary Scripts_content = new Dictionary(); protected Dictionary notecards_content = new Dictionary(); - protected Dictionary> group_invite_lockout_timer = new Dictionary>(); + protected Dictionary group_invite_lockout_timer = new Dictionary(); protected long last_cleanup_commands; public override string GetStatus() @@ -102,46 +102,35 @@ namespace BSB.bottypes CommandsInterface.StatusTick(); return base.GetStatus(); } - public bool GetAllowGroupInvite(UUID avatar, UUID group) + public bool GetAllowGroupInvite(UUID avatar) { - if (group_invite_lockout_timer.ContainsKey(group) == true) - { - return !group_invite_lockout_timer[group].ContainsKey(avatar); - } - return true; + return !group_invite_lockout_timer.ContainsKey(avatar); } - public void GroupInviteLockoutArm(UUID avatar, UUID group) - { - if (group_invite_lockout_timer.ContainsKey(group) == false) - { - group_invite_lockout_timer.Add(group, new Dictionary()); - } - if (group_invite_lockout_timer[group].ContainsKey(avatar) == false) + public void GroupInviteLockoutArm(UUID avatar) + { + if (group_invite_lockout_timer.ContainsKey(avatar) == false) { - group_invite_lockout_timer[group].Add(avatar,0); + group_invite_lockout_timer.Add(avatar,0); } - group_invite_lockout_timer[group][avatar] = helpers.UnixTimeNow(); + group_invite_lockout_timer[avatar] = helpers.UnixTimeNow(); } protected void PurgeOldGroupinviteLockouts() { long now = helpers.UnixTimeNow(); - foreach (UUID group in group_invite_lockout_timer.Keys) - { - List clear_locks = new List(); - foreach (KeyValuePair Glock in group_invite_lockout_timer[group]) - { - long dif = now - Glock.Value; - if (dif >= 120) - { - clear_locks.Add(Glock.Key); - } - } - foreach (UUID glock in clear_locks) - { - group_invite_lockout_timer[group].Remove(glock); + List clear_locks = new List(); + foreach(KeyValuePair Glock in group_invite_lockout_timer) + { + long dif = now - Glock.Value; + if(dif >= 120) + { + clear_locks.Add(Glock.Key); } } + foreach(UUID glock in clear_locks) + { + group_invite_lockout_timer.Remove(glock); + } } protected void custom_commands_loop(string command,string arg,UUID caller)