public async Task GetWarns(SocketUser user) { var Guild = Core.Guilds[Context.Guild.Id]; if (!Guild.Warns.ContainsKey(user.Id) || Guild.Warns[user.Id].Count <= 0) { await ReplyAsync("", false, MiXLib.GetEmbed("User has no active warnings!", color: new Color(255, 140, 0))); return; } var Warns = Guild.Warns[user.Id]; var str = ""; foreach (Warn w in Warns) { var DateTimeFormat = @"MM\/dd\/yyyy hh:mm tt"; var Issuer = Context.Guild.GetUser(w.Issuer); str = str + $"{MiXLib.UnixTimeStampToDateTime(Convert.ToInt64(w.Starts)).ToString(DateTimeFormat)}\n" + $" Reason: **{w.Reason}**\n" + $" Issuer: **{Issuer.Username}#{Issuer.Discriminator}** ({Issuer.Id})\n" + $" Expired: **{MiXLib.BoolToYesNo(w.Expired)}**\n" + $" Expires: **{MiXLib.UnixTimeStampToDateTime(Convert.ToInt64(w.Ends)).ToString(DateTimeFormat)}** (in **{MiXLib.FormatTime(Convert.ToInt32(w.Ends - MiXLib.tick()))}**)\n\n"; } await ReplyAsync("", false, MiXLib.GetEmbed(str, $"Warnings for {user.Username}#{user.Discriminator}", new Color(255, 140, 0))); }
public async Task HelpCommand([Remainder] string command = null) { var AvailableCommands = new List <Command>(); foreach (Command c in Core.Commands) { if (c.Listed == false) { continue; } else if (c.Rank > await MiXLib.GetRank(Context.User.Id, Context.Guild)) { continue; } else if (c.Guild != 0 && c.Guild != Context.Guild.Id) { continue; } AvailableCommands.Add(c); } if (command == null) { await ReplyAsync("", false, MiXLib.GetEmbed( $"Rank: **{MiXLib.GetRankName(await MiXLib.GetRank(Context.User.Id, Context.Guild))}**\n" + $"Available Commands (**{AvailableCommands.Count.ToString()}**): {(new Func<string>(() => { var cmds = new List<string>(); foreach (Command c in AvailableCommands) cmds.Add(c.Name); return MiXLib.Concat(cmds, ", ", "**", "**"); }))()}\n\n" + $"Run **{Core.Guilds[Context.Guild.Id].Config.Prefix}help <command>** for more info")); } else { var Command = Core.GetCommand(command); if (Command == null || Command.Listed == false || (Command.Guild != 0 && Command.Guild != Context.Guild.Id)) { await ReplyAsync("", false, MiXLib.GetEmbed($"**Error**: Could not find command **{command}**.", null, new Color(200, 0, 0))); return; } await ReplyAsync("", false, MiXLib.GetEmbed( $"Command Name: **{Command.Name}**\n" + $"Description: **{Command.Description}**\n" + $"Aliases: {MiXLib.Concat(Command.Aliases, ", ", "**", "**")}\n" + $"Usage: **{Command.Usage}**\n" + $"Minimum Rank: **{MiXLib.GetRankName(Command.Rank)}**\n" + $"User can run: **{MiXLib.BoolToYesNo(await MiXLib.GetRank(Context.User.Id, Context.Guild) >= Command.Rank)}**" )); } }