Пример #1
0
        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());
        }
Пример #2
0
        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));
        }
Пример #3
0
 public Task InviteAsync()
 {
     return(SimpleEmbedAsync("You may invite this bot to your own server using the following link:\n" + $"{InviteHelper.GetInvite(Context.Client)}"));
 }