public async Task LogEvent(GuildModel.Guild GuildObj, IGuild Guild, EmbedBuilder embed) { if (EventLogDelays.All(x => x.GuildID != Guild.Id)) { EventLogDelays.Add(new EventLogDelay { GuildID = Guild.Id, LastUpdate = DateTime.UtcNow, Updates = 0 }); } else { var gdelays = EventLogDelays.First(x => x.GuildID == Guild.Id); //Ensure that we are only logging 1 event per second (to reduce lag from the bot and overall spam) if (gdelays.LastUpdate + TimeSpan.FromSeconds(5) >= DateTime.UtcNow) { gdelays.Updates++; } else { gdelays.LastUpdate = DateTime.UtcNow; gdelays.Updates = 0; } if (gdelays.Updates >= 3 && gdelays.LastUpdate + TimeSpan.FromSeconds(5) > DateTime.UtcNow) { Logger.LogMessage($"RateLimiting Events in {Guild.Name}", LogSeverity.Verbose); return; } await GuildObj.EventLog(embed, Guild); } }
public void UpdateGuild(GuildModel.Guild guild) { guildData = guild; if (guildData != null) { MonoBehaviourSingleton <UserInfoManager> .I.userStatus.clanId = guildData.clanId; GetClanStat(null); int @int = PlayerPrefs.GetInt("CLAN_ID"); PlayerPrefs.SetInt("CLAN_ID", MonoBehaviourSingleton <UserInfoManager> .I.userStatus.clanId); } else { MonoBehaviourSingleton <UserInfoManager> .I.userStatus.clanId = -1; guildStatData = null; PlayerPrefs.SetInt("CLAN_ID", MonoBehaviourSingleton <UserInfoManager> .I.userStatus.clanId); } }