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); }
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); }