public async Task Info(CommandContext context) { var builder = new MaterialEmbedBuilder(context.Client); _ = builder.WithTitle(context.Client.CurrentUser.Username + " / Bot Info", context.Client.CurrentUser.AvatarUrl); builder.AddSection(null, "General", new MaterialEmbedListTile( "discord", $"[{await context.GetStringAsync("Bot_Info_DSharpPlusVersion")}](https://github.com/DSharpPlus/DSharpPlus/)", context.Client.VersionString), new MaterialEmbedListTile( "account-star", await context.GetStringAsync("Bot_Info_Creator"), "<@!194891941509332992>"), new MaterialEmbedListTile( "help-circle", await context.GetStringAsync("Bot_Info_HelpCommand"), $"`{context.Prefix}help`") ); builder.AddSection(null, await context.GetStringAsync("Bot_Info_Statistics"), new MaterialEmbedListTile( "clock-fast", await context.GetStringAsync("Bot_Info_Uptime"), (DateTime.UtcNow - Process.GetCurrentProcess().StartTime.ToUniversalTime()).ToConversationalString()), new MaterialEmbedListTile( "blank", await context.GetStringAsync("Bot_Info_Commands"), context.Client.GetExtension <CommandsNextExtension>().RegisteredCommands.Count.ToString()), new MaterialEmbedListTile( "blank", await context.GetStringAsync("Bot_Info_Servers"), context.Client.Guilds.Count.ToString()) ); builder.WithText($"[{"github-circle".GetEmojiString()}](https://github.com/Craftplacer/CraftBot) [{"earth".GetEmojiString()}](https://craftplacer.trexion.com/projects/craftbot)"); _ = await context.Message.RespondAsync(embed : builder.Build()); }
public async Task Info(CommandContext context) { MaterialEmbedBuilder builder = new MaterialEmbedBuilder(context.Client).WithTitle($"{context.Guild.Name} / {context.GetStringAsync("GeneralTerms_Information")}", context.Guild.IconUrl); builder.AddSection(null, context.GetStringAsync("GeneralTerms_General"), new MaterialEmbedListTile( context.Guild.IsLarge ? "account-group" : "account-multiple", context.GetStringAsync("Server_Info_Members_Title"), string.Format(context.GetStringAsync("Server_Info_Members_Value"), context.Guild.MemberCount.ToString())), new MaterialEmbedListTile( "calendar-plus", context.GetStringAsync("Server_Info_CreatedOn_Title"), string.Format(context.GetStringAsync("Server_Info_CreatedOn_Value"), context.Guild.CreationTimestamp.ToString())) ); builder.AddSection(null, context.GetStringAsync("GeneralTerms_BotRelated"), new MaterialEmbedListTile( "earth", context.GetStringAsync("Server_Info_Region"), context.Guild.VoiceRegion.Name), new MaterialEmbedListTile( context.Guild.VoiceRegion.IsVIP, "VIP") ); //string logFile = $"data\\guild\\{context.Guild.Id}.log.json"; //int loggedMessages = context.Guild.Logging().Value && File.Exists(logFile) ? JsonConvert.DeserializeObject<List<DiscordMessage>>(File.ReadAllText(logFile)).Count() : 0; builder.AddSection(null, context.GetStringAsync("GeneralTerms_BotRelated"), new MaterialEmbedListTile( await context.Guild.IsShitpostingEnabledAsync(), context.GetStringAsync("Server_Info_Shitposting") ) ); _ = await context.RespondAsync(embed : builder.Build()); }
public async Task Info(CommandContext context, DiscordUser user = null) { if (user == null) { user = context.User; } var builder = new MaterialEmbedBuilder(context.Client); builder.WithTitle($"{user.Username} / {await context.GetStringAsync("GeneralTerms_Information")}", user.AvatarUrl); builder.AddSection(null, await context.GetStringAsync("User_Info_Identification"), new MaterialEmbedListTile( "pencil", await context.GetStringAsync("User_Info_Username"), user.Username ), new MaterialEmbedListTile( "pound", await context.GetStringAsync("User_Info_Discriminator"), user.Discriminator.ToString() ), new MaterialEmbedListTile( "id", await context.GetStringAsync("User_Info_Id"), user.Id.ToString() ) ); builder.AddSection(null, await context.GetStringAsync("GeneralTerms_General"), new MaterialEmbedListTile( "calendar-plus", await context.GetStringAsync("User_Info_UserSince_Title"), string.Format(await context.GetStringAsync("User_Info_UserSince_Value"), user.CreationTimestamp.ToString()) ), new MaterialEmbedListTile( user.IsBot, await context.GetStringAsync("User_Info_IsBot") ), user.Verified.HasValue ? new MaterialEmbedListTile( user.Verified.Value, await context.GetStringAsync("User_Info_IsVerified") ) : null ); bool isMember = context.Guild.Members.Any(m => m.Value.Id == user.Id); if (isMember) { DiscordMember member = await context.Guild.GetMemberAsync(user.Id); builder.AddSection(null, await context.GetStringAsync("User_Info_MemberInformation"), !string.IsNullOrWhiteSpace(member.Nickname) ? new MaterialEmbedListTile( "pencil", await context.GetStringAsync("User_Info_Nickname"), member.Nickname ) : null, new MaterialEmbedListTile( "calendar-plus", await context.GetStringAsync("User_Info_MemberSince_Title"), string.Format(await context.GetStringAsync("User_Info_MemberSince_Value"), member.JoinedAt.ToString()) ), new MaterialEmbedListTile( member.IsOwner, await context.GetStringAsync("User_Info_IsOwner") ) ); } builder.AddSection(null, await context.GetStringAsync("GeneralTerms_BotRelated"), new MaterialEmbedListTile( await user.IsQuotingEnabledAsync(), await context.GetStringAsync("User_Info_Quoting") ), new MaterialEmbedListTile( await user.GetDelayDeletingAsync(), await context.GetStringAsync("User_Info_DelayDelete") ) ); if (user.IsCurrent) { builder.WithFooter(await context.GetStringAsync("User_Info_ThatsMe")); } await context.RespondAsync(embed : builder.Build()); }