Пример #1
0
        internal static async Task <bool> CheckUserTimeout(SocketUser usr, ulong guildID, IMessageChannel channel)
        {
            var Tracker = UserTimeouts.SingleOrDefault(ut => ut.TrackedUser == usr && ut.GuildID == guildID);

            if (Tracker != null)
            {
                TimeoutTimer t   = UserTimeoutTimers.SingleOrDefault(p => p.Tracker == Tracker);
                var          msg = await channel.SendMessageAsync($"Slow down {usr.Username}! Try again in {TimeSpan.FromSeconds((int)Constants._CMDTIMEOUT_ - (DateTime.Now - t.StartTime).TotalSeconds).Seconds}.{(TimeSpan.FromSeconds(5 - (DateTime.Now - t.StartTime).TotalSeconds).Milliseconds) / 100} seconds.");

                AddRandomTracker((RestUserMessage)msg);
                return(false);
            }
            return(true);
        }
Пример #2
0
        internal static async Task <bool> CheckUserTimeout(SocketUser usr, ulong guildID, IMessageChannel channel)
        {
            var Tracker = UserTimeouts.SingleOrDefault(ut => ut.TrackedUser == usr && ut.GuildID == guildID);

            if (Tracker != null)
            {
                TimeoutTimer t         = UserTimeoutTimers.SingleOrDefault(p => p.Tracker == Tracker);
                int          sec       = FriendUsers.ContainsKey(usr.Id) ? (int)Constants._CMDTIMEOUT_ / 2 : (int)Constants._CMDTIMEOUT_;
                TimeSpan     ts        = DateTime.Now - t.StartTime;
                TimeSpan     remaining = TimeSpan.FromSeconds(sec - ts.TotalSeconds);
                var          msg       = await channel.SendMessageAsync($"Slow down {usr.Username}! Try again in {remaining.Seconds}.{remaining.Milliseconds / 100} seconds.");

                AddRandomTracker((RestUserMessage)msg, remaining.TotalSeconds > 1 ? (ulong)remaining.TotalSeconds : 1);
                return(false);
            }
            return(true);
        }