コード例 #1
0
ファイル: EventHandler.cs プロジェクト: ig4e/SaDB0T
        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);
            }
        }
コード例 #2
0
 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);
     }
 }