public async Task InformationAsync() { var httpClient = Context.Provider.GetRequiredService <HttpClient>(); string changes; httpClient.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); using (var response = await httpClient.GetAsync("https://api.github.com/repos/PassiveModding/Passive-BOT/commits")) { if (!response.IsSuccessStatusCode) { changes = "There was an error fetching the latest changes."; } else { dynamic result = JArray.Parse(await response.Content.ReadAsStringAsync()); changes = $"[{((string)result[0].sha).Substring(0, 7)}]({result[0].html_url}) {result[0].commit.message}\n" + $"[{((string)result[1].sha).Substring(0, 7)}]({result[1].html_url}) {result[1].commit.message}\n" + $"[{((string)result[2].sha).Substring(0, 7)}]({result[2].html_url}) {result[2].commit.message}"; } response.Dispose(); } var embed = new EmbedBuilder(); if (changes.Length > 1000) { changes = changes.Substring(0, 1000); changes = $"{changes}..."; } embed.WithAuthor( x => { x.IconUrl = Context.Client.CurrentUser.GetAvatarUrl(); x.Name = $"{Context.Client.CurrentUser.Username}'s Official Invite"; x.Url = InviteHelper.GetInvite(Context.Client); }); embed.AddField("Changes", changes); embed.AddField("Members", $"Bot: {Context.Client.Guilds.Sum(x => x.Users.Count(z => z.IsBot))}\n" + $"Human: {Context.Client.Guilds.Sum(x => x.Users.Count(z => !z.IsBot))}\n" + $"Total: {Context.Client.Guilds.Sum(x => x.Users.Count)}", true); embed.AddField("Channels", $"Text: {Context.Client.Guilds.Sum(x => x.TextChannels.Count)}\n" + $"Voice: {Context.Client.Guilds.Sum(x => x.VoiceChannels.Count)}\n" + $"Total: {Context.Client.Guilds.Sum(x => x.Channels.Count)}", true); embed.AddField("Guilds", $"{Context.Client.Guilds.Count}\n[Support Server]({_Home.CurrentHomeModel.HomeInvite})", true); var orderedShards = Context.Client.Shards.OrderByDescending(x => x.Guilds.Count).ToList(); embed.AddField("Stats", $"**Guilds:** {Context.Client.Guilds.Count}\n" + $"**Users:** {Context.Client.Guilds.Sum(x => x.MemberCount)}\n" + $"**Shards:** {Context.Client.Shards.Count}\n" + $"**Max Shard:** G:{orderedShards.First().Guilds.Count} ID:{orderedShards.First().ShardId}\n" + $"**Min Shard:** G:{orderedShards.Last().Guilds.Count} ID:{orderedShards.Last().ShardId}"); embed.AddField(":hammer_pick:", $"Heap: {Math.Round(GC.GetTotalMemory(true) / (1024.0 * 1024.0), 2)} MB\n" + $"Up: {GetUptime()}", true); embed.AddField(":beginner:", "Written by: [PassiveModding](https://github.com/PassiveModding)\n" + $"Discord.Net {DiscordConfig.Version}", true); await ReplyAsync(embed.Build()); }
public Task UserInformationAsync([Remainder] IUser user = null) { if (user == null) { user = Context.User; } var status = user.Status.ToString(); if (status == string.Empty) { status = "Null"; } var builder = new EmbedBuilder().WithTitle($"Who Is: {user}").WithThumbnailUrl(user.GetAvatarUrl()).AddField("Sign Up Date", user.CreatedAt.Date).AddField("User ID", user.Id).AddField("Username", user.Username).AddField("Discriminator", user.Discriminator).AddField("Status", status).AddField("Links", $"[Invite]({InviteHelper.GetInvite(Context.Client)})\n[Support Server]({_Home.CurrentHomeModel.HomeInvite})"); return(ReplyAsync(builder)); }
public Task InviteAsync() { return(SimpleEmbedAsync("You may invite this bot to your own server using the following link:\n" + $"{InviteHelper.GetInvite(Context.Client)}")); }